Centrar pantalla - Resolución de pantalla

Un poco cansado pero sin sueño, quise sentarme a ver este tema que lo tenía en espera para crear la entrada, por lo tanto si escribo dos veces lo mismo espero me comprenda ;).
En esta entrada quise mostrar como podemos centrar una forma según la resolución de la pc.
Para mostrar como hacerlo en el siguiente ejemplo estaremos usando las clases:

-Dimension
- Point
- Toolkit
- JFrame

Ahora procedemos a crear una clase de nombre ResolucionPantalla.

Exported from Notepad++
public class ResolucionPantalla { private int x; private int y; public ResolucionPantalla() { } public Toolkit tomarToolkit() { return Toolkit.getDefaultToolkit(); } public Dimension tomarTamanioPantalla() { return tomarToolkit().getScreenSize(); } public Point centrarPantalla(JFrame frame) { int ancho = (int) getAnchoPantalla(); int altura = (int) getAlturaPantalla(); Dimension dimensionFrame = frame.getSize(); setX((ancho - dimensionFrame.width) / 2); setY((altura - dimensionFrame.height) / 2); frame.setLocation(getX(), getY()); Point p = new Point(); p.setLocation(getX(), getY()); return p; } /** * @return the x */ public int getX() { return x; } /** * @param x the x to set */ public void setX(int x) { this.x = x; } /** * @return the y */ public int getY() { return y; } /** * @param y the y to set */ public void setY(int y) { this.y = y; } /** * @return the alturaPantalla */ public double getAlturaPantalla() { return tomarTamanioPantalla().getHeight(); } /** * @return the anchoPantalla */ public double getAnchoPantalla() { return tomarTamanioPantalla().getWidth(); } @Override public String toString() { StringBuilder builder; builder = new StringBuilder(); int al = (int)getAlturaPantalla(); int an = (int)getAnchoPantalla(); builder.append("x=").append(x).append("\n").append("y=") .append(y).append("\n"); builder.append("altura=").append(al).append("\n"); builder.append("ancho=").append(an); return builder.toString(); } }

Podemos ver la implementación de esta clase en el siguiente ejemplo

Centrar pantalla

Nota: por el momento le dejaré solo el código y otro día iré dando más detalles.

No hay comentarios: