2010-05-09 29 views
8

Tôi muốn đặt kích thước của một JFrame sao cho contentPane là kích thước mong muốn. JFrame.setSize() không tính đến các trang trí cửa sổ, do đó contentPane hơi quá nhỏ. Kích thước của trang trí cửa sổ là nền tảng và chủ đề cụ thể, do đó, đó là tin xấu để cố gắng tự tài khoản cho họ.Đặt kích thước của một ContentPane (bên trong JFrame)

JFrame.getContentPane(). SetSize() không thành công do được quản lý.

Ý tưởng?

Cảm ơn!

+0

Câu hỏi này có thể giúp: http://stackoverflow.com/questions/2451252/swing-set-jframe-content- diện tích – Ash

Trả lời

17

Trong Java 5 và sau này là phương pháp đơn giản nhất:

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

Như mọi khi ở trên nên được thực hiện trong EDT.

0

Nếu bạn muốn làm điều đó một mình sau đó trong loại Khung của bạn:

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); 
Các vấn đề liên quan