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:
- Point
- Toolkit
- JFrame
Ahora procedemos a crear una clase de nombre ResolucionPantalla.
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.