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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top