gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 11:27:27 24 4
gpt4 key购买 nike

setSize()setPreferredSize() 的主要区别是什么。有时我用 setSize() , 有时 setPreferredSize() ,有时一个做我想做的,有时另一个做。

JFrames 和 JPanels 应该使用什么调用?

最佳答案

使用取决于组件的父级是否有布局管理器。

  • setSize() -- 在父布局管理器不存在时使用;
  • setPreferredSize()(还有它的相关setMinimumSizesetMaximumSize)——当父布局管理器存在时使用。

如果组件的父级使用布局管理器,setSize() 方法可能不会做任何事情;这通常会产生影响的地方是顶级组件(JFrames 和 JWindows)以及滚动 Pane 内的东西。如果父组件中有没有布局管理器的组件,您还必须调用 setSize()

通常,如果存在布局管理器,setPreferredSize() 将按预期布局组件;大多数布局管理器通过获取其组件的首选(以及最小和最大)大小来工作,然后使用 setSize()setLocation() 来定位这些组件布局规则。

例如,BorderLayout 试图使其“北”区域的边界等于其北分量的首选大小——它们最终可能会大于或小于该值,具体取决于JFrame 的大小、布局中其他组件的大小等等。

关于Java:组件中的 setPreferredSize() 和 setSize() 方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com