Foro sobre Java SE > Desbordamiento de jdialogs
La clase Window: http://download.oracle.com/javase/6/docs/api/java/awt/Window.html
dispone de dos métodos para colocar la ventana "hacia adelante" o "hacia atrás": toFront() y toBack().
Sin ver tu código no puedo decirte nada más. Pero con esos dos métodos se controla, cuando es necesario, la ubicación de las ventanas en el eje Z.
Gracias por la respuesta. Lo q busco es q no se vengan alfrente los otros dialogos abiertos cuando activo o llamo uno de ellos, cn tofront(); o toback(); no me resulta, ya q cuando desee activar xdialogo este se encontrara detras y no aceptara otra operacion. Utilizo este codigo para llamar los dialogos1, ..d2 ..d3 ..d4 desde un jbutton:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
dialogo1.setTitle("Titulo");
dialogo1.setSize(300, 200);
dialogo1.setLocationRelativeTo(this);
dialogo1.setVisible(true);
dialogo2.setVisible(false);
dialogo3.setVisible(false);
dialogo4.setVisible(false);
}
es un simple ejemplo q stoy realizando, ya q apenas me inicio con java y me gustaria aprender a gestionar las ventanas (abrir, cerrar) de una aplicacion de tal forma q no se me "desborden". Si alguien tiene la mejor manera le agradesco me aclare mis dudas. Gracaias de ante mano...
Lo mismo que quieres hacer, lo realizo yo mismo con JFrame, y me funciona perfectamente el toFront() cuando quiero que un JFrame pase al frente. Los demás se quedan donde estén.
Puesto que tanto JFrame como JDialog heredan la clase Window, su comportamiento, en cuanto al uso de los métodos de Window, es el mismo, o debería serlo.
Otra cuestión diferente es el diseño mediante el cual se crean, minimizan, traen al frente, hacia atrás, o se liberan los recursos gráficos (dispose).
Cuando se quieren manejar diversas ventanas a la vez, lo más recomendable es crear una clase que funcione como "controlador de ventanas": las crea, libera, mueve, cambia su tamaño, etc.
El resto de la aplicación se comunica con ese "controlador", dándole las instruciones sobre lo que quiere hacer, y el controlador las ejecuta.
Mmmm okey... Interesante respuesta. Eso de crear otra clase q controle ese aspecto me ha llamado algo la atencion. Voy a indagarle un poco mas al asunto para ponerme al tanto con ese tema. Agradezco mucho tu tiempo y tus conocimientos...
Buenas, estoy realizando una app en java con netbeans, tengo un unico frame principal y varios jdialogs, todo esta correcto hasta ahi. El problema es q cuando activo varios dialogs para hacer cualquier trabajo con ellos, y llamar por ejemplo al jdialog1 se vienen "hacia delante" los otros dialogs234.... q estan activos. He trabajado con setVisible(); en true y false pero no quiero q "desaparezcan" (si no es lo + correcto), y para cerrar lo hago con dispose(); solo necesito q esten activos detras del jframe (si es posible) y si no se llaman. Ayuda..