Pregunta sobre el botón cancelar en un JOptionPane

Así que estoy trabajando en un programa para la escuela, y parte de la tarea es que tengo un montón de peticiones de entrada pop-up. Estoy usando el JOptionPane, que intrínsecamente tiene un botón ACEPTAR y el botón de Cancelar. Ahora, para hacer la salida del programa cuando se pulse el botón de cancelar cuando el indicador está pidiendo una cadena, tengo algo como esto:

firstName = JOptionPane.showInputDialog("Please enter your first name:");
if(firstName == null)System.exit(0);

Pero también tengo que hacer lo mismo para los números que hago como entrada, ambos Dobles y Enteros. Si me tratan de lo mismo, se produce un error diciendo que El operador == es indefinido para el tipo de argumento(s) doble, nulo. Así que, ¿cuál es la mejor manera para mí para comprobar si hacen clic en Cancelar cuando se le pida un valor numérico? Gracias por su ayuda!

Editar #1

Aquí está el código para el JOptionPane obtener un valor numérico:

startDateMonth = Integer.parseInt(JOptionPane.showInputDialog("Please enter the start         date month (1-12):"));
InformationsquelleAutor Steve | 2010-02-24

1 Kommentar

  1. 3

    JOptionPane.showInputDialog() devuelve siempre una cadena que es la entrada del usuario. Si el usuario ha hecho clic en el botón Cancelar se devolverá null. Si desea convertir la entrada de usuario a otro tipo que acabamos de analizar la cadena. Me refiero a que el código que has pegado debe seguir siendo el mismo.
    Si usted está pidiendo una cosa diferente, por favor aclarar.

    Petar

    • Hey muchas gracias por su respuesta, después de re-leer mi pregunta me di cuenta de que es un poco ambiguo. He añadido el código de mi entero JOptionPane, me pregunto ¿qué tengo que hacer para cancelar. Si el startDateMonth = = ¿qué? luego cancelar. Gracias
    • Cadena de startDateMonth = JOptionPane.showInputDialog(«por Favor ingrese la fecha de inicio mes (1-12):»); if (startDateMonth == null) System.exit(0); int analiza = Integer.parseInt(startDateMonth); me refiero en primer lugar comprobar si el usuario ha hecho clic en Cancelar y, a continuación, analizar la entrada. La esperanza es claro.
    • Ah, y por cierto con su anterior fragmento de código Entero.parseInt(JOptionPane.showInputDialog(«por Favor ingrese la fecha de inicio mes (1-12):»)); usted siempre obtendrá un puntero nulo cuando el usuario ha hecho clic en cancelar. Porque en esencia se llame Entero.parseInt(null).
    • Exito!!!!! Muchas gracias!!
    • Usted es bienvenido:)

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea