Saltar al contenido

Cómo manejar el botón cancelar en JOptionPane

Luego de investigar con especialistas en la materia, programadores de deferentes ramas y maestros dimos con la solución a la interrogande y la dejamos plasmada en esta publicación.

Solución:

Por ejemplo:

int n = JOptionPane.showConfirmDialog(
                            frame, "Would you like green eggs and ham?",
                            "An Inane Question",
                            JOptionPane.YES_NO_OPTION);
if (n == JOptionPane.YES_OPTION) 

 else if (n == JOptionPane.NO_OPTION) 

 else 


Alternativamente con showOptionDialog:

Object[] options = "Yes, please", "No way!";
int n = JOptionPane.showOptionDialog(frame,
                "Would you like green eggs and ham?",
                "A Silly Question",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[0]);
if (n == JOptionPane.YES_OPTION) 

 else if (n == JOptionPane.NO_OPTION) 

 else 


Consulte Cómo crear diálogos para obtener más detalles.

EDITAR: showInputDialog

String response = JOptionPane.showInputDialog(owner, "Input:", "");
if ((response != null) && (response.length() > 0)) 


El showMessageDialog no debería mostrar dos botones, por lo que algo anda mal con su código o su interpretación del mismo. Independientemente, si desea darle una opción al usuario y desea detectar esa opción, no use un showMessageDialog sino un showConfirmDialog, obtenga el int devuelto y pruébelo para ver si es JOptoinPane.OK_OPTION.

Esta es una vieja pregunta, y soy un novato en Java, por lo que podría haber mejores soluciones, pero quería saber lo mismo, y tal vez pueda ayudar a otros, lo que hice fue verificar si la respuesta fue null.

Si el usuario hace clic en “cancelar”, la respuesta será null. Si hacen clic en “Aceptar” sin ingresar ningún texto, la respuesta será vacía. string.

Esto funcionó para mí:

//inputdialog 
    JOptionPane inpOption = new JOptionPane();

    //Shows a inputdialog
    String strDialogResponse = inpOption.showInputDialog("Enter a number: "); 

    //if OK is pushed then (if not strDialogResponse is null)
    if (strDialogResponse != null)

        (Code to do something if the user push OK)  

    
    //If cancel button is pressed
    else

        (Code to do something if the user push Cancel)

    

Sección de Reseñas y Valoraciones

Si guardas algún titubeo o forma de arreglar nuestro noticia puedes escribir una glosa y con placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *