setSize()v / s setPreferredSize()和pack()

时间:2011-06-17 10:53:58

标签: java swing user-interface

我不清楚setSize()setPreferredSize()之间的区别。 如果我使用setSize()代替setPreferredSize()会发生什么。


pack()方法究竟做了什么?

1 个答案:

答案 0 :(得分:18)

在窗口上调用pack()将根据其包含组件的preferredSize调整大小。它将尽可能小,但要考虑其组件的preferredSize和布局。 如果您只是随机使用frame.setSize(),则添加到内容窗格的组件将展开/收缩以适应可用空间,这意味着可以覆盖每个组件的首选大小。

setSize()设置组件的大小,setPreferredSize设置首选大小.Brassuremanager将尝试为您的组件安排那么多空间。 这取决于你是否使用布局管理器......

请参阅Java: Difference between the setPreferredSize() and setSize() methods in components