Para explicar cómo centrar un JFrame
vamos a mostrar un ejemplo de ver cómo mostrar una aplicación Java Swing, en concreto un JFrame
, al arrancar, centrado en la pantalla. Además, nos vamos a apoyar en el ejemplo conocer la resolución de la pantalla con Java para darle forma al JFrame
que vamos a centrar.
Crear un constructor JFrame
El procedimiento para centrar un JFrame
lo vamos a codificar en el constructor de la clase. Así que lo primero será definir una clase que extienda de JFrame
, constructor incluido.
public class CentrarJFrame extends JFrame { public CentrarJFrame(){...} }
Posicionar la pantalla con setLocationRelativeTo
Dentro del constructor del JFrame
utilizamos el método setLocationRelativeTo() de la clase Window
. El método setLocationRelativeTo() coloca la ventana en una posición relativa a un componente que le pasemos como parámetro. Pero si le pasamos null
como parámetro, coloca la ventana en el centro de la pantalla. Así ya habremos conseguido centrar un JFrame
.
public class CentrarJFrame extends JFrame { public CentrarJFrame(){ setLocationRelativeTo(null); } }
Como comentábamos antes, y apoyándonos en el ejemplo sobre Conocer la resolución de la pantalla con Java vamos a cuadrar el JFrame
y haremos que sea la mitad del tamaño de la pantalla… por presentar algo de armonía. :-)
public class CentrarJFrame extends JFrame { public CentrarJFrame(){ super("Centrar JFrame"); Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize(); int height = pantalla.height; int width = pantalla.width; setSize(width/2, height/2); setLocationRelativeTo(null); setVisible(true); } }
De esta manera ya tenemos completo el ejemplo que nos explica cómo centrar un JFrame
mediante Java Swing.