Obtenga el valor de retorno de JOptionPane
-
06-07-2019 - |
Pregunta
Mi código JOptionPane es el siguiente:
selectedSiteName = JOptionPane.showInputDialog("Enter the name of the new site:");
Esto genera una entrada con un cuadro de texto y un botón Aceptar y Cancelar. Necesito detectar si se hizo clic en Cancelar.
Saludos.
Solución
Verifique si selectedSiteName == nulo.
Este será el caso si el usuario hace clic en Cancelar o cierra el cuadro de diálogo.
Otros consejos
Lea la API JOptionPane y siga el enlace al tutorial de Swing sobre "Cómo usar los cuadros de diálogo". para un ejemplo de trabajo.
if(selectedSiteName == JOptionPane.CANCEL_OPTION)
{
}
debería funcionar.
JOptionPane extiende JComponent.
Métodos de JOptionPane
1) .showMessageDialog (); // ANULADO :-(
2) .showInputDialog (); // devuelve STRING :-)
3) .showConfirmDialog (); // return int :-)
- > y más ...
Ejemplo:
void myMethod() {
JDialog jd = new JDialog();
jd.setDefaultCloseOperation(1);
JOptionPane jop = new JOptionPane();
int val = jop.showConfirmDialog(jd, "Hello");
if(val == 0) jop.showMessageDialog(null, "Success", "INFO", jop.INFORMATION_MESSAGE);
System.out.println(val);
jd.add(jop);
}
Enlace útil:
- ¿Por qué JOptionPane.getValue () continúa devolviendo uninitializedValue
- https://docs.oracle.com/javase /7/docs/api/javax/swing/JOptionPane.html