lunes, 16 de marzo de 2009

Centrar jFrame en la pantalla

Este código permite centrar un jFrame en la pantalla

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JLabel;
import java.awt.Toolkit;
import java.awt.Dimension;

public class Centrado {
private JFrame jFrame = null;
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JLabel jLabel = null;

public Centrado() {
}

public JFrame getJFrame() {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setSize(new java.awt.Dimension(400,200));
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dimension = toolkit.getScreenSize();
jFrame.setLocation(((int) dimension.getWidth()-jFrame.getWidth())/2,((int) dimension.getHeight()-jFrame.getHeight())/2);
jFrame.setTitle("jFrame centrado en la pantalla");
jFrame.setResizable(false);
jFrame.setContentPane(getJContentPane());
}
return jFrame;
}

private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJPanel(), java.awt.BorderLayout.CENTER);
}
return jContentPane;
}

private JPanel getJPanel() {
if (jPanel == null) {
jLabel = new JLabel();
jLabel.setBounds(new java.awt.Rectangle(9,9,165,33));
jLabel.setText("Este frame está centrado");
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.add(jLabel, null);
}
return jPanel;
}

public static void main(String[] args) {
Centrado centrado = new Centrado();
centrado.getJFrame().setVisible(true);
}
}

No hay comentarios:

Publicar un comentario