2010-05-09 9 views
8

Ich möchte die Größe eines JFrames so einstellen, dass contentPane die gewünschte Größe hat. JFrame.setSize() berücksichtigt die Fensterdekorationen nicht, daher ist contentPane etwas zu klein. Die Größe der Fensterdekorationen ist plattform- und themenspezifisch, so dass es eine schlechte Nachricht ist, sie manuell zu berücksichtigen.Einstellen der Größe eines ContentPane (innerhalb eines JFrames)

JFrame.getContentPane(). SetSize() schlägt fehl, weil es verwaltet wird.

Ideen?

Danke!

+0

Diese Frage kann helfen: http://stackoverflow.com/questions/2451252/swing-set-jframe-content- Flächengröße – Ash

Antwort

17

In Java 5 und höher ist dies die einfachste Methode:

JFrame frame = new JFrame("Content Pane Size Example"); 
frame.getContentPane().setPreferredSize(new Dimension(400, 300)); 
frame.pack(); 
frame.setVisible(true); 

Wie immer sollte die oben im EDT ausgeführt werden.

0

Wenn Sie es auf eigene Faust zu tun, dann in Ihrem Rahmenart:

this.setLayour(null); 
this.pack(); 
Insets insets = this.getInsets(); 
this.setBounds(0,0, insets.left + width + insets.right, insets.top + height + insets.bottom); 
this.setLocationRelativeTo(null); 
Verwandte Themen