icon - line border java example
Swing: establece el tamaño del área de contenido de JFrame (3)
No importa, lo descubrí:
public MyFrame() {
super("Hello, world!");
myJPanel.setPreferredSize(new Dimension(500,500));
add(myJPanel);
pack();
}
Estoy tratando de hacer un JFrame con un área de contenido utilizable de exactamente 500x500. Si hago esto ...
public MyFrame() {
super("Hello, world!");
setSize(500,500);
}
... Obtengo una ventana cuyo tamaño completo es 500x500, incluida la barra de título, etc., donde realmente necesito una ventana cuyo tamaño sea algo así como 504x520 para tener en cuenta el borde de la ventana y la barra de título. ¿Cómo puedo conseguir esto?
Simplemente use:
public MyFrame() {
this.getContentPane().setPreferredSize(new Dimension(500, 500));
this.pack();
}
No es necesario que haya un JPanel allí, si solo desea establecer el tamaño del marco.
puede intentar un par de cosas: 1 - un hack:
public MyFrame(){
JFrame temp = new JFrame;
temp.pack();
Insets insets = temp.getInsets();
temp = null;
this.setSize(new Dimension(insets.left + insets.right + 500,
insets.top + insets.bottom + 500));
this.setVisible(true);
this.setResizable(false);
}
2- o Agregue un JPanel al panel de contenido del marco y Solo configure el tamaño preferido / mínimo del JPanel a 500X500, paquete de llamadas ()
- 2- es más portátil