Cómo saber si un JFrame está abierto en Java NetBeans

Logo Java

Las interfaces en proyectos Java SE, son armadas mediante objetos tipo JFrame y JDialog. Principalmente, por lo que el manejo de este tipo de ventanas será fundamental al momento de construir proyectos con Java, hoy veremos cómo saber si un JFrame está abierto en Java; siendo una función muy común determinar si una ventana está abierta o no cuando el Software se encuentra funcionando, veamos.

Cómo saber si un JFrame está abierto en Java NetBeans

Para recrear este ejemplo, construiremos una interfaz muy sencilla como la siguiente; que nos ayudará a verificar si un JFrame está abierto o no.

Cómo saber si un JFrame está abierto en Java

En la interfaz anterior tenemos dos botones (bnt1 y btn2), el primero abrirá otra ventana tipo JFrame; mientras que el segundo se encargará de validar si está abierta o no.

Paso 1: Definir el JFrame que abriremos.

Normalmente cuando deseamos abrir una ventana la definimos en el botón, sin embargo para este ejemplo la definiremos o declararemos en la parte superior del código del formulario anterior, así:

Cómo saber si un JFrame está abierto en Java

Con esto logramos tener disponible el objeto “v”, que es nuestra ventana en ambos botones; tanto para abrirla, como para verificar si está o no abierta.

Paso 2: Código del botón para abrir o mostrar el JFrame “Ventana1”.

Para mostrar o abrir el formulario muy fácilmente lo hacemos de la siguiente manera:

Código del botón “Abrir JFrame”, btn1.

Cómo saber si un JFrame está abierto en Java

Paso 3: Validar si está abierto el JFrame.

Para realizar este paso existen en Java varias formas disponibles que podemos utilizar; dependiendo de las necesidades del proyecto, veamos:

Utilizando el método isShowing()

Este método comprueba si la ventana se muestra en la pantalla.

Cómo saber si un JFrame está abierto en Java

Utilizando el método isVisible()

Determina si el objeto se encuentra visible, este es un método muy útil.

Cómo saber si un JFrame está abierto en Java

Utilizando el método isActive()

Devuelve “true” si la ventana está activa. Solo un cuadro o un cuadro de diálogo pueden estar activo. El sistema de ventanas nativo puede indicar la ventana activa o sus elementos secundarios con decoraciones especiales, como una barra de título resaltada. La Ventana activa siempre es la Ventana enfocada, o el primer Cuadro o Diálogo que es propietario de la Ventana enfocada.

Cómo saber si un JFrame está abierto en Java

Resultado final

Cómo saber si un JFrame está abierto en Java

Finalmente sabemos cómo saber si un JFrame está abierto en Java, cabe resaltar que todas las opciones anteriores nos servirán en escenarios distintos para comprobar si está abierto no no un JFrame o JDialog; siempre y cuando la instancia del JFrame ya exista; de lo contrario obtendremos un java.lang.NullPointerException. Esto podemos corregirlo iniciando de inmediato la ventana en la parte superior y luego solo mostrarla; o bien utilizar una variable y comprobando su valor.