Foros del Web » Programación para mayores de 30 ;) » Java »

Cerrar un JOptionPane

Estas en el tema de Cerrar un JOptionPane en el foro de Java en Foros del Web. Buenas, estoy usando un JOptionPane y no sé como hacer para que cuando la pulse la opcion No se cierre solamente el JOptionPane y no ...
  #1 (permalink)  
Antiguo 14/07/2012, 03:47
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 12 años, 4 meses
Puntos: 0
Cerrar un JOptionPane

Buenas, estoy usando un JOptionPane y no sé como hacer para que cuando la pulse la opcion No se cierre solamente el JOptionPane y no todo la aplicacion.
Gracias!!
Este es el codigo que estoy usando:

int seleccion = JOptionPane.showOptionDialog(
null,
"Pregunta",
"¿Quieres continuar?",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, // null para icono por defecto.
new Object[] { "Si", "No" },
"opcion 2");
if(seleccion==1 ){
//Con esto se cierra toda la aplicación
System.exit(0);
}
else{
System.out.println("Ha pulsado Si");
}
}
  #2 (permalink)  
Antiguo 14/07/2012, 04:08
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Cerrar un JOptionPane

El JOptionPane se cierra el solito cuando pulsas algo, así que si no quieres que no se cierre la aplicación, no hagas la llamada a System.exit().

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 14/07/2012, 05:17
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Cerrar un JOptionPane

Tienes toda razón...pero ahora creo que el problema que creo que tengo es que el JOptionPane está dentro de un método y dependiendo de la opción que se pulse devuelve una cosa u otra y es cuando no se me cierra...
Aquí pongo el código modificando la parte final de los returns. Gracias por ayudarme.

int seleccion = JOptionPane.showOptionDialog(
null,
"Pregunta",
"¿Quieres continuar?",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, // null para icono por defecto.
new Object[] { "Si", "No" },
"opcion 2");
if(seleccion==1 ){
return 0;
}
else{
return 1;
}
}
  #4 (permalink)  
Antiguo 14/07/2012, 07:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Cerrar un JOptionPane

Hola:

No tengo claro tu código ni que es lo que se supone que tiene que devolver el método.
seleccion será -1 si se cierra el JOptionPane con la cruz de la ventana arriba a la derecha (si se cierra sin seleccionar nada), 0 si eliges "Si" y 1 si eliges "No".

Tal cual lo tienes, el método devuelve 0 si se pulsa "No" y 1 si se pulsa "Si" o se cierra la ventana con la x de la esquina superior derecha.

Por cierto, donde pones "opcion 2", deberías poner una de las opciones válidas "Si" o "No", de esta forma ese botón saldrá remarcado y la tecla de intro será la opción que coja.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 14/07/2012, 09:09
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Cerrar un JOptionPane

Ya encontré mi error. Mil gracias.

Etiquetas: cerrar, joptionpane, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:14.