Java - Problemas con Ventanas

 
Vista:

Problemas con Ventanas

Publicado por Eduardo (29 intervenciones) el 10/03/2006 19:11:40
Hola a todos:

Estoy haciendo una pekeña aplicacion, y engo un problemilla con las ventanas. La aplicación se compone de una clase main desde la que se empieza, y otras clases que son extends de JFrame.

El problema lo tengo cuando con una ventana abierta abro otra clase que es una nueva ventana, entonce seria asi:
class1.setEnabled(false);
class2 vent = new class2();
vent.setvisible(true);

en este punto me abre la ventana nueva y la vieja me la deja inactiva, entonces como puede hacer para que cuando cierre la nueva pueda poner la otra activa?
he probado mediante metodos static pero no funciona.

De que manera puedo acceder a la ventana anterior que esta en una clase distinta a la que creo?

Gracias a todos por vuestro tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Ventanas

Publicado por Pedro Alberto (16 intervenciones) el 10/03/2006 19:18:55
Pasa que cuando dices :class1.setEnabled(false);
estás poniendo la otra ventana inactiva. Debes tratar de evitar
hacer eso.
Lo otro..., si quieres acceder a una ventana desde otra, pues debes tener en la última, una referencia a la primera, es decir, tener en la segunda una variable del tipo de la primera e inicializarla antes de mostrar la ventana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Ventanas

Publicado por Eduardo (29 intervenciones) el 10/03/2006 19:28:24
Lo que pasa es que me interesa ponerla asi, porque esa ventana sera como un menu y entonces desde esa yamare a otras para hacer consultas y volver a la principal.

Y no entiendo eso de inicializar la variable. Explicamelo si puedes con un codigo asi facil como el k e puesto yo en el otro post.

Muchas gracias por responder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Ventanas

Publicado por Pedro Alberto (16 intervenciones) el 10/03/2006 19:45:50
No hay ningún problema para lo que quieres hacer, me explico:
Supongamos que la principal sea: JFramePrincipal jPrincipal, las otras sean: JFrame1, JFrame2,...,JFramen.
Lo que harías en JFrame1 es tener una variable de tipo JFramePrincipal:
class JFrame1 extends JFrame{
....
JFramePrincipal principal;
.....
//Inicializar principal
public Inicializar_Principal(JFramePrincipal p){
principal = p;
}
......
}
Cuando crees alguna ventana de tipo JFrame1 (supongo que sea dentro de JFramePrincipal),
pues, haces lo siguiente:

JFrame1 frame1 = new JFrame1();
frame1.Inicializar_Principal(this);
frame1.setVisible(true);
......
Así, podrás acceder a todo lo de JFramePrincipal desde cualquier ventana de tipo JFrame1. de esta forma antes de volver a la principal, antes de cerrar frame1, puedes hacer:
....
principal.setEnabled(true);
...
y todo arreglado.
No sé si te sirve de algo mi sugerencia...

HV.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Ventanas

Publicado por Eduardo (29 intervenciones) el 13/03/2006 09:30:21
Gracias por vuestra ayuda me ha servido de mucho, lo que pasa que ahora cuando cierro la ventana secundaria la principal se queda detras de otras ventanas diferentes a las del programa. Como puedo hacer que se ponga esta ventana activa, sin tener utilizar la propiedad de always on top?

Gracias de nuevo popr vuestra ayuda y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Problemas con Ventanas

Publicado por chuidiang (950 intervenciones) el 10/03/2006 19:37:17
Hola:

Lo que puedes hacer es que la ventana principal (que está inactiva) se "suscriba" a cuando se cierra la segunda ventana. Esto se hace añadiendo un addWindowListener() a la ventana secudaria de esta manera

class1.setEnabled(false);
class2 vent = new class2();
vent.setvisible(true);
vent.addWindowListener (new WindowAdapter()
{
public void windowClosing (WindowEvent e)
{
class1.setEnabled(true);
}
});

Te lo he puesto un poco de memoria y quizás haya algún error o nombre de método/clase equivocada. El método que debes redefinir de WindowAdapter no estoy seguro si es windowClosing() o windowClosed(), prueba a ver cual te va. Si tienes algún problema vuelve a escribir.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar