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


问题内容

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


pack()方法到底能做什么?


问题答案:

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

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

请参见Java:组件中的setPreferredSize()和setSize()方法之间的区别