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

Saber o no si un método se ejecuta en JVM... Esa es la cuestión

Estas en el tema de Saber o no si un método se ejecuta en JVM... Esa es la cuestión en el foro de Java en Foros del Web. Hola! Les cuento que estoy desarrollando una aplicación con Swing. Tengo mi ventana inicial con unos botoncitos que me llevan a las zonas de mi ...
  #1 (permalink)  
Antiguo 14/03/2010, 22:15
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 1
Saber o no si un método se ejecuta en JVM... Esa es la cuestión [SOLUCIONADO]

Hola!

Les cuento que estoy desarrollando una aplicación con Swing. Tengo mi ventana inicial con unos botoncitos que me llevan a las zonas de mi programa. Cada clic al botón llama al método que construye la ventana.

Mi pregunta esta relacionada a saber si es posible conocer cuando el método de construcción de cierta ventana esté ejecutándose.

Lo que ocurre es que cada vez que doy clic en un botón que abre alguna ventana, ésta se crea independientemente de que ya haya sido creada previamente o no, es decir, la ventana se puede crear tantas veces como clics dé sobre el botón.

Revisando un poco, podría poner cada ejecución de ventana en un hilo y llamar a éste cada vez que se quiera acceder a dicha ventana pero les pregunto a ustedes para seguirme sobre esta línea o como ya es costumbre en Java, hay algo por ahí que me dejé conocer qué cosillas se ejecutan en la Java Virtual Machine.

Saludos

Última edición por Gguer; 16/03/2010 a las 23:11
  #2 (permalink)  
Antiguo 15/03/2010, 05:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Saber o no si un método se ejecuta en JVM... Esa es la cuestión

y pork no probar con un muy simple


if (ventana != null)
{
No crear la ventana
}else{
Si es null pues la crea
}

No se... creo que esto ya te basta.. para que hilos y mas historias?
  #3 (permalink)  
Antiguo 15/03/2010, 09:11
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Saber o no si un método se ejecuta en JVM... Esa es la cuestión

Crea tu propia clase Singleton extendiendo la clase JFrame ó JDialog (Dependiendo de tus requerimientos).

Asi podrás evitar la creación de una nueva instancia de la ventana. y solo tendrás que manipular su propiedad setVisible(boolean) cuando quieras que sea visible ó no !

Saludos.
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #4 (permalink)  
Antiguo 16/03/2010, 23:21
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Saber o no si un método se ejecuta en JVM... Esa es la cuestión

Hola!

Gracias a los dos por su ayuda. Lo he solucionado haciendo una mezcla de sus propuestas.

Creé una variable en cada una de las clases que se podían abrir más de una vez. Esta variable es de tipo boolean y me indica si la ventana se está mostrando. De esta manera al iniciar la ejecución de la aplicación la variable que le llamé mostrar_ventana será igual a false. Entonces creo la ventana y ahora le cambio el valor a mostrar_ventana a true. Al dar clic de nuevo en el botón que abre la ventana, ésta no se abrirá porque el valor de la variable es true y yo creé un if el cual valoraba si mostrar_ventana era false para crear la ventana por primera vez.

Todo hasta aquí bien, el asunto es que si cerraba la ventana tendría que poder abrirse de nuevo, así que hice una clase que gestionará los eventos de cerrar vetanas (windowClosing() ) y con eso se resolvió todo el asunto.

Tengo dos ventanas que se pueden abrir al mismo tiempo. Si sólo está una abierta yo quiero que al cerrarla me mande a la ventana de inicio, pero si las dos están abiertas quiero que sólo la cierre. Al cerrar la otra ventana aún abierta quiero que me mande al inicio. La idea es esta: si una ventana está abierta, al cerrarla deberá irse al inicio pero si dos están abiertas deberá cerrarse solamente.

Les confieso que me llevo un tiempo lograrlo pero la cosa es analizar bien las posibilidades y la situación. Estuve a punto de desesperarme pero sí funciona aquello de "toma un descanso y regresa".

Les explico todo esto para futuras referencias, esperando que a alguien le pueda servir para darse una idea.

Saludos y gracias.


Etiquetas: jvm
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 04:03.