Centrar un JPanel
Publicado por Brian (22 intervenciones) el 14/03/2009 03:27:34
Salu2
Tengo un pregunta con respecto a un JPanel, resulta que tengo una aplicación basada en ventanas, la cual tiene un JPanel dentro, lo que deseo es centrar ese JPanel independientemente de la resolución de la pantalla y estoy utilizando el siguiente código:
Dimension pantallaTamano = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize((pantallaTamano.width), (pantallaTamano.height));
Dimension tamanoPanel = jPanel1.getSize();
jPanel1.setBounds((pantallaTamano.width - tamanoPanel.width) / 2, ((pantallaTamano.height - tamanoPanel.height) / 2),(int) tamanoPanel.getWidth(), (int) tamanoPanel.getHeight());
Según yo el código está bien, utilizo el punto medio para centrar, se que sirve porque puedo centrar JInternalFrame y JDialog sin ningún problema con este mismo código, he cambiado el setBounds por el setLocate y tampoco fuciona.
Ahora lo que pasa es que aparentemente ese código no hace nada, porque puedo sustituir (int) tamanoVentana.getWidth() por 8000 y no pasa absolutamente nada. Ahora estoy utilizando netbeans 6.1 y estoy casi seguro que se debe a algún código que este crea cuando uno crea el JFrame y que no se puede modificar, el problema es que no sé cómo arreglarlo, pues cuando cambio de resolución el JPanel queda mal centrado.
El JFrame es donde me logueo en el sistema por lo que siempre esta full screen y el JPanel debe estar en el centro ya que este no abarca toda la pantalla sino que solamente contiene los campos donde van el login y el password, y los botones de ingresar y cancelar
Gracias y Salu2
Tengo un pregunta con respecto a un JPanel, resulta que tengo una aplicación basada en ventanas, la cual tiene un JPanel dentro, lo que deseo es centrar ese JPanel independientemente de la resolución de la pantalla y estoy utilizando el siguiente código:
Dimension pantallaTamano = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize((pantallaTamano.width), (pantallaTamano.height));
Dimension tamanoPanel = jPanel1.getSize();
jPanel1.setBounds((pantallaTamano.width - tamanoPanel.width) / 2, ((pantallaTamano.height - tamanoPanel.height) / 2),(int) tamanoPanel.getWidth(), (int) tamanoPanel.getHeight());
Según yo el código está bien, utilizo el punto medio para centrar, se que sirve porque puedo centrar JInternalFrame y JDialog sin ningún problema con este mismo código, he cambiado el setBounds por el setLocate y tampoco fuciona.
Ahora lo que pasa es que aparentemente ese código no hace nada, porque puedo sustituir (int) tamanoVentana.getWidth() por 8000 y no pasa absolutamente nada. Ahora estoy utilizando netbeans 6.1 y estoy casi seguro que se debe a algún código que este crea cuando uno crea el JFrame y que no se puede modificar, el problema es que no sé cómo arreglarlo, pues cuando cambio de resolución el JPanel queda mal centrado.
El JFrame es donde me logueo en el sistema por lo que siempre esta full screen y el JPanel debe estar en el centro ya que este no abarca toda la pantalla sino que solamente contiene los campos donde van el login y el password, y los botones de ingresar y cancelar
Gracias y Salu2
Valora esta pregunta


0