这个问题在这里已经有了答案:Java:DifferencebetweenthesetPreferredSize()andsetSize()methodsincomponents(4个答案)关闭6年前。我不清楚setSize()和setPreferredSize()有什么区别。如果我使用setSize()而不是setPreferredSize()会发生什么。pack()方法到底做了什么?
我在使用BoxLayout时遇到问题。在我的示例中,我尝试降低文本字段的高度并更改按钮的宽度(如底部图片中的绿色标记所示)。我知道setPreferredSize()和setMaximumSize()技术,但它没有正常工作。add(Box.createHorizontalGlue())行也没有帮助。感谢您的任何想法。publicclassTestyextendsJPanel{publicstaticvoidmain(String[]args){SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){cons
我在这里读了一些帖子,我开始了解为什么有些人会这样做@OverridepublicDimensiongetPreferredSize(){returnnewDimension(500,500);}代替setPreferredSize(newDimension(500,500));第二个不是更好吗,因为它只创建一个Dimension对象,而第一个可能创建多个(即使它没有那么浪费内存)?还是我错了?有区别吗? 最佳答案 一个很大的区别是该值如何随时间变化,因此您选择的值应该取决于您要对代码执行的操作。如果您只是在代码中调用setPref
setSize()和setPreferredSize()的主要区别是什么。有时我用setSize(),有时setPreferredSize(),有时一个做我想做的,有时另一个做。JFrames和JPanels应该使用什么调用? 最佳答案 使用取决于组件的父级是否有布局管理器。setSize()--在父布局管理器不存在时使用;setPreferredSize()(还有它的相关setMinimumSize和setMaximumSize)——当父布局管理器存在时使用。如果组件的父级使用布局管理器,setSize()方法可能不会做任何事情;