Foro de elhacker.net

Programación => Java => Mensaje iniciado por: yesod en 24 Julio 2014, 02:54 am



Título: ¿JFrame activo?
Publicado por: yesod en 24 Julio 2014, 02:54 am
Buenas noches compañeros, he estado mirando por la API de java para ver como puedo comprobar si una ventana JFrame esta activa, el problema que me encuentro es que no se si la información que he encontrado es verídica/válida...y me explico, he puesto este código:

Código
  1. public void actionPerformed(ActionEvent e) {
  2.                //Llamo a la instancia "Eliminar conexión"
  3.                EliminarConexion.main(null);
  4.                if (AC.isActive()){
  5.                    AC.dispose();
  6.                }
  7.            }
  8.  

Explico, AC es el acrónimo que le puse al JFrame "Añadir Conexión", con lo cual, lo que intento es ver si esa ventana esta activa al pulsar en la instancia "Eliminar Conexión". Supongo que algo debe faltar porque me salta el error NullPointerException, pero, lo que no llego a entender es si, ¿Hace falta que al iniciar la clase JFrame "Añadir Conexión" le ponga algo tipo setActive o algo asi?...para que mande una señal de "ventana activa".

¿Alguien me lo puede explicar/confirmar?


Título: Re: ¿JFrame activo?
Publicado por: yesod en 28 Julio 2014, 21:54 pm
Con toda la gente que hay en el foro ¿Nadie sabe?


Título: Re: ¿JFrame activo?
Publicado por: gordo23 en 29 Julio 2014, 18:13 pm
No lo he probado, pero ¿te fijaste con WindowListener?:

http://docs.oracle.com/javase/7/docs/api/java/awt/event/WindowListener.html (http://docs.oracle.com/javase/7/docs/api/java/awt/event/WindowListener.html)

Estos 2 métodos por ahí te pueden ayudar:

windowActivated(WindowEvent e)
windowDeactivated(WindowEvent e)

Avisame si te soluciona el problema así me entero yo también xD


Título: Re: ¿JFrame activo?
Publicado por: yesod en 29 Julio 2014, 21:24 pm
Vale! Gracias, voy a probar a ver que consigo y comento :D

Supongo que dentro de cada método, tendré que poner algun setEnable(true); o algo asi, pero estoy investigando.