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

manipular jdialog

Estas en el tema de manipular jdialog en el foro de Java en Foros del Web. Buenas, Tengo un frame y un JDialog. como hago para que el JDialog se vea delante del frame y se centre en la ventana del ...
  #1 (permalink)  
Antiguo 08/02/2012, 05:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 17 años
Puntos: 2
manipular jdialog

Buenas,

Tengo un frame y un JDialog. como hago para que el JDialog se vea delante del frame y se centre en la ventana del frame.

codigo.


info_panel= new JPanel();
gl2 = new GridBagLayout();
info_panel.setLayout(gl2);
info_panel.setPreferredSize(new Dimension(400, 100));
glcontenedor2 = new GridBagConstraints();


info= new JDialog((ventana)null, "info");
info.getContentPane().add(delete_panel, BorderLayout.CENTER);

info.pack();
info.setVisible(true);


info.setDefaultCloseOperation(JDialog.DO_NOTHING_O N_CLOSE);


ventana es el frame.

Saludos
  #2 (permalink)  
Antiguo 08/02/2012, 07:17
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: manipular jdialog

Hola:

Para que esté delante del JFrame, el constructor del JDialog admite un "parent". Pásale en ese parámetro el JFrame.

info= new JDialog(ventana, "info");

Para que el JDialog salga centrado en el JFrame, usa el método setLocationRealativeTo() del JDialog y pásale como parámetro el JFrame, antes de hacer visible el JDialog.

info.setLocationRelativeTo(ventana);
...
info.setVisible(true);

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 08/02/2012, 10:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 17 años
Puntos: 2
Respuesta: manipular jdialog

chuidiang,

probe lo que me pusistes y para que la jdialog este arriba de la ventana tuve que poner this.

vos me decias de ponerlo asi
addfolder = new JDialog(ventana, "info");

pero no me funciono, entonces probe asi y si que me funciono

addfolder = new JDialog(this, "info");

porque con ventana no me funciona???

este es el codigo de ventana

Container ventana = getContentPane();

ventana.setPreferredSize(new Dimension(700,500));

gl = new GridBagLayout();

ventana.setLayout(gl);

glcontenedor = new GridBagConstraints();


y con respecto a centrar el jdialog en el centro de la ventana no me funciono me aparece en otro lado.

addfolder.setLocationRelativeTo(ventana);

saludos y gracias
  #4 (permalink)  
Antiguo 08/02/2012, 14:19
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: manipular jdialog

Hola:

En tu post inicial ponías que ventana es el JFrame. En el código de ahora ventana es el ContentPane del JFrame. Al JDialog debes pasarle el JFrame en el constructor.

En cuanto a dialog.setLocationReativeTo() debería funcionar si el JFrame está visible (si no lo está, el JDialog saldrá centrado en pantalla). Eso sí, lo que sale centrado sobre el JFrame es la esquina superior izquierda del JDialog. Prueba el siguiente código

Código java:
Ver original
  1. public static void main(String[] args) {
  2.       JFrame v = new JFrame();
  3.       v.setLocation(200, 200);
  4.       v.setSize(100, 100);
  5.       v.setVisible(true);
  6.  
  7.       JDialog d = new JDialog(v);
  8.       d.setLocationRelativeTo(v);
  9.       d.setVisible(true);
  10.    }

se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 08/02/2012, 14:58
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 17 años
Puntos: 2
Respuesta: manipular jdialog

vale ya esta, muchas gracias.

una cosa mas, como puedo hacer para que el jdialog no lo redimencionen con el raton, osea que ni la anchura y altura la puedan de jdialog no cambien por mas de que lo estiren con el raton.

un saludos
  #6 (permalink)  
Antiguo 08/02/2012, 15:22
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: manipular jdialog

setResizable(false)

http://docs.oracle.com/javase/6/docs...g/JDialog.html

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 08/02/2012, 15:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 17 años
Puntos: 2
Respuesta: manipular jdialog

me funciono.

gracias

Etiquetas: jdialog, manipular
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 23:16.