Foro de elhacker.net

Programación => Java => Mensaje iniciado por: chequinho en 13 Marzo 2012, 01:27 am



Título: [SOLUCIONADO] Como evitar que se abra otra instancia de un JFrame?
Publicado por: chequinho en 13 Marzo 2012, 01:27 am
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:

Código:
if (ventana.isVisible() == true) {
            JOptionPane.showMessageDialog(null, "No se permite instanciar más de una vez la ventana");
} else {
            ventana.setVisible(true);
          }
Código:
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:


Título: Re: Como evitar que se abra otra instancia de un JFrame?
Publicado por: goll9d en 13 Marzo 2012, 04:40 am
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


Título: Re: Como evitar que se abra otra instancia de un JFrame?
Publicado por: chequinho en 13 Marzo 2012, 07:08 am
Efectivamente, era eso. Gracias @goll9d. Puedo dar el tema como solucionado. >:D