Centrar la ventana en pantalla

2133 vistas

A partir de JDK 1.4:
El JDK 1.4 ofrece un método de centrado automático de ventanas con respecto a un componente o la pantalla, el método setLocationRelativeTo(java.awt.Component) de la classe java.awt.Window.

El centrado deve hacerse con respecto a un componente que se visualice en el momento del centrado de la ventana... generalmente justo antes de hacerla visible (si el parámetro es null o si el componente no se está visualizando, el centrado se hará respecto la pantalla).



java
  1. /** centrado de la ventana con respecto la ventana padre.
  2.  * si no hay ventana padre, lo centramos respecto la pantalla
  3.  */
  4. miVentana.setLocationRelativeTo(miVentana.getParent());
  5. /** ...luego lo mostramos */
  6. miVentana.show();



JDK 1.3 y anteriores:
No hay ningún método que haga esto de forma automática, pero es muy sencillo hacer el posicionado uno mismo.



java
  1. /** miramos la medida de la pantalla */
  2. java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
  3. frame.pack();
  4. frame.setLocation(
  5.         (screenSize.width-frame.getWidth())/2,
  6.         (screenSize.height-frame.getHeight())/2
  7.         );