[SOLUCIONADO] Como evitar que se abra otra instancia de un JFrame?

Iniciado por chequinho, 13 Marzo 2012, 01:27 AM

0 Miembros y 1 Visitante están viendo este tema.

chequinho

Buenos días/tardes/noches.

Mi problema es el siguiente: Tengo un frame con una barra de menús, en la barra de menús agregué un MenuItem que abre otro frame.

La cuestión es que necesito validarlo para que, si ya esta abierta la ventana del frame, cuando le de clic en el JMenuItem no me abra de nuevo la ventana. No se si me expliqué bien.

En pocas palabras, evitar que existan multiples instancias de un JFrame, he intentado con las siguientes sentencias:


if (ventana.isVisible() == true) {
           JOptionPane.showMessageDialog(null, "No se permite instanciar más de una vez la ventana");
} else {
           ventana.setVisible(true);
         }


if (ventana.isActive() == true) {
           JOptionPane.showMessageDialog(null, "No se permite instanciar más de una vez la ventana");
} else {
           ventana.setVisible(true);
         }


Pero siempre se pasan directamente al else. Alguna idea de como poder hacerlo? :huh:

Gracias de antemano.  :rolleyes:

goll9d

me parece que te entendi :P porque no haces un boolean o un int y lo inicializas para que me entiendas{
private boolean opc = true; o talvez private int opc =0;
....
...
if(opc == true//0){
nuevo JFrame;
opc=false; // opc++;
}else{
JOptionPane.Showmess..("MENSAJE");
}
}
intentalo y te pido disculpas si eso no es lo que preguntabas. :xD :xD

chequinho

Efectivamente, era eso. Gracias @goll9d. Puedo dar el tema como solucionado. >:D