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

pro*_*eve 8 java user-interface swing

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


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

Suh*_*pta 18

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

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

请参阅Java:组件中setPreferredSize()和setSize()方法之间的差异