我是java新手。 我只是學習JPanel和JFrame。 我得到從Java軟件解決方案本說明:JFrame的pack()方法不起作用(java,ubuntu)
「的幀的包的方法將其適當地基於 其大小內容-在這種情況下,幀的尺寸,以適應其包含的面板的尺寸 「。
,所以我寫了這個代碼:
public static void main (String [] args){
JFrame frame = new JFrame("test");
JPanel panel = new JPanel();
JLabel label1= new JLabel("");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
//frame.setSize(1000, 500);
frame.getContentPane().add(panel);
Color darkBlue = new Color(8,40,94);
panel.setSize(1000, 500);
panel.setBackground(darkBlue);
}
,但它的結果是一個非常微小的窗口,我應該用鼠標最大化看到的內容 但是當我設置幀大小每一件事工作的偉大! 和我使用Ubuntu。 那麼這個問題的原因是什麼?
你打包時它是空的。在所有其他的東西之後調用'pack()'。你也可能需要在面板上使用'setPreferredSize'而不是'setSize'來使'pack()'工作。 – khelwood