lunes, 24 de noviembre de 2008

manejo de ventanas como JFrame y JDialog

sobre este tema podemos hablar por mucho rato , pero comentare los puntos

que encuentro importante (se supone de un conocimiento basico del tema).


primero vamos decir que como siempre vamos a trabajar con netbeans

cuando creamos un JFrame en netbeans este crea automaticamente un

main para el. este lo podriamos utilizar para dejarlo como principal y

no tener que crear la clase main con el famoso


ventana v=new ventana();

v.setvisible(true);


seleccionar el main de jframe



con los primeros ejercicios de JFrame no nos preocupamos de mucho

de manejos de ventanas , pero cuando nos toca hacer algo real salta esta

preocupacion y problema.


hay muchas formas de enfrentar este tema al momento de programar ,

uno de ellos es ocupar JInternalFrame dentro de un jframe , pero este

tiene que estar dentro de un JDesktopPane (es una subclase de JLaveredPane

al que se le ha añadido el API para manejar el solapamiento de múltiples

frames internos.) .


yo utilizo JFrame y Jdialong para programar ventanas , por mi parte

lo encuentro super facil y no es complicado .


para empezar tenemos que tener algunos detalles claros :


- tiene que existir un solo jframe (padre) y los demas ventanas seran jdialog.


- en una ocasion yo sobre carge demaciado un jframe y me dio error de

memoria , entonces como recomendacion es que los jdialog y jframe son

para mostrar la carcasa de nuestro programa y para lo demas tenemos las

famosas clases.


- un jframe muestra un boton en la barra de tarea de windows y los jdialog no.


- Un JDialog puede ser modal, un JFrame no.


modal ???? : Un JDialog puede ser modal, pasándole un true en el

constructor en el sitio adecuado o haciéndolo modal con el método

setModal(). Si hacemos un JDialog modal, todas las demás ventanas

se deshabilitarán hasta que el usuario de nuestro programa cierre el

JDialog.


- Todas las ventanas secundarias deben ser JDialog y todos los JDialog

deberían tener padre.


para abrir un JDialog desde un JFrame


NewJDialog n=new NewJDialog(this,true);
n.setVisible(true);


centrar nuestra ventana en la pantalla :

en el contructor setLocationRelativeTo(null);


bueno esto es una pincelada de JFrame y JDialong y sobre este tema existe

mucho por aprender

1 comentario:

Anónimo dijo...

Hola, Estoy realizando un programa de control de asistencia a un centroX. Tengo algo adelantado pero necesito ayuda para gestionar las ventanas para q abran en el orden establecido y no e podido hacerlo. El asunto es q necesito saber como hago para q cuando pulse un boton X, o ingrese a un sitio este llame al dialogo correcto sin q esto se desborde y llame otros q no deba q es lo q me esta ocurriendo.Tengo hecho varios dialogos y un jframe principal para q cuando ingrese gestionar entradas, registros, consultas etc.
Intente con esto y nada:
this.setExtendedState(this.MAXIMIZED_BOTH);
dialog_reg.setTitle("Inicio");
dialog_reg.setSize(320, 260);
dialog_reg.setLocationRelativeTo(this);
dialog_reg.setVisible(true);

Agradezco el apoyo q me puedan ofrecer.