ynthn Posted November 4, 2010 Report Share Posted November 4, 2010 hola,estoy haciendo una aplicacion en java pero necesito guardar un txt lo que no puedo hacer es cuando estoy escribiendo y quiero hacer un nuevo documento preguntar si llevo algo escrito si "deseo guardar o no" la idea que tengo es la sigiente if (!area.getText().equals("")) {are.setText(""); }else{ }//aqui es donde tengo el problema no se como utilizar esta funcion para preguntar :rolleyes: :( int result = JOptionPane.showConfirmDialog(getTopLevelAncestor(), "El archivo seleccionado ya existe. " + "¿Desea sobreescribirlo?", "El archivo ya existe", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); Link to comment Share on other sites More sharing options...
xchanox Posted November 4, 2010 Report Share Posted November 4, 2010 (edited) deja ver si te entendí, tu problema es solo saber como mostrar el cuadro de diálogo con las opciones y despues sabes que opción se escogió? si es así prueba el siguiente código, que es casi igual al tuyo pero le quité un error y lo hice un poco mas formal. El (*1) es el cambio mas importante. int result = JOptionPane.showConfirmDialog ( JOptionPane.getRootFrame(), // (*1) "El archivo seleccionado ya existe." + "\n" + // "¿Desea sobreescribirlo?", "Advertencia", // (*2) JOptionPane.YES_NO_CANCEL_OPTION, // (*3) JOptionPane.WARNING_MESSAGE // (*4) ); // ahora vamos a ver la respuesta if (result == 0) // si escogió la opcion "Si" { //aqui tu codigo } if (result == 1) // si escogió la opcion "No" { //aqui tu codigo } if (result == 2) // si escogió la opcion "Cancelar" { //aqui tu codigo, por lo general un return para abortar el método } (*1) Debes apuntar al objeto para usar su método, en este caso JOptionPane (*2) Intenta no poner en el título lo mismo que en el mensaje, se ve muy informal (*3) Estas usando tres botones: "Si" , "No" y "Cancelar" en el mismo oreden de iquierda a derecha, en ese mismo orden genera los int del resultado. Para tu caso quizá es mejor usar solamente "Si" y "Cancelar" que vendría siendo JOptionPane.YES_CANCEL_OPTION (*4) En tu caso está al filo entre pregunta y advertencia, yo lo dejaría como advertencia ya que también te está informando y no solo preguntando. Espero que se haya resulto tu duda. nos avisas como te fue Edited November 4, 2010 by xchanox Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now