我如何使用JFrame.pack()?

时间:2014-08-15 22:25:50

标签: java jframe pack

你能告诉我如何使用pack()以及它在做什么吗?

例如:

//1. Create the frame.
JFrame frame = new JFrame("FrameDemo");

//2. Optional: What happens when the frame closes?
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//3. Create components and put them in the frame.
//...create emptyLabel...
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

//4. Size the frame.  (How pack() set tha frame size???)
frame.pack();

//5. Show it.
frame.setVisible(true);

2 个答案:

答案 0 :(得分:3)

该方法的行为在文档(javadoc)中指定。

以下是Window.pack的文档。

  

使此窗口的大小适合其子组件的首选大小和布局。如果任一维度小于上一次调用setMinimumSize方法所指定的最小大小,则会自动放大窗口的最终宽度和高度。

答案 1 :(得分:0)

pack会将JFrame的大小更改为可能包含您放入其中的所有元素的最小尺寸。