Como detengolas instrucciones mientras se ejecuta un frame.show()

AlexG
14 de Agosto del 2005
hola a todos, como hago para evitar que se ejecute el If hasta que la ventana " mos" termine de ejecutarse:

ejemplo

mos.show();
if (ADatos.swproy==1)
{
contenedor.getComponent(0).setVisible(true);
contenedor.getComponent(3).setVisible(false);
}

Gracias,


AlexG

rubece
14 de Agosto del 2005
No sé si es lo que quieres, pero si quieres ejecutar algo cuando se cierre la ventana "mos", lo puedes hacer con manejo de eventos, con algo así:

mos.addWindowListener(new WindowListener() {
public void windowClosed(WindowEvent e) {
if (ADatos.swproy==1)
{
contenedor.getComponent(0).setVisible(true);
contenedor.getComponent(3).setVisible(false);
}
}
});

Supongo que algo así te valdrá. Bueno si usas variables locales y parámetros dentro windowClosed tendrán que ser declarados con final, para atributos de clase no pasa nada. Bueno eso es todo. Que te vaya bien. Hasta luego.

chuidiang
14 de Agosto del 2005
Hola:

Si necesitas detener la ejecución hasta que una ventana se cierre, quizás te sirvan las ventanas que puedes mostrar con JOptionPane.
Esta clase sirve para mostrar ventanas de aviso con un mensaje, para pedir una confirmación, para pedir al operador que seleccione una opción entre varias, etc,etc. Una vez que se muestra esta ventana, la ejecución se detiene hasta que el usuario la cierra de alguna manera.

Se bueno.

ChinoKao
14 de Agosto del 2005
No tengo ni idea, supongo que será un problema de estructuración de código. Pero prueba en vez de usar show() que es deprecated en usar
mos.pack();
mos.setVisible(true);
mos.toFront();

A ver si con eso no salta, si no tendrás que poner una especie de delay para el tiempo.

A ver si te sirve, un saludo