setSize()和setPreferredSize()之间的主要区别是什么?有时我用setSize(),有时用setPreferredSize(),有时一个做我想做的事,有时用另一个。
我应该对JFrame%s和JPanel%s使用什么调用?
发布于 2009-11-23 23:57:43
当没有使用布局管理器时,可以使用setSize()或setBounds()。
但是,如果您正在使用布局管理器,则可以使用setPreferredSize()和setMinimumSize()等setXXXSize()方法向布局管理器提供提示。
并确保组件的容器使用符合请求大小的布局管理器。FlowLayout、GridBagLayout和SpringLayout管理器使用组件的首选大小(后两个取决于您设置的约束),但BorderLayout和GridLayout通常不这样做。如果您为已经可见的组件指定新的大小提示,则需要对其调用revalidate方法,以确保重新布局其包含层次结构。然后调用重绘方法。
发布于 2009-11-23 23:26:24
setSize会将组件大小调整为指定的大小。
setPreferredSize设置首选大小。组件实际上可能不是这个大小,这取决于它所在的容器的大小,或者用户是否手动调整了组件的大小。
发布于 2009-11-23 23:29:55
IIRC ..。
setSize设置组件的大小。
setPreferredSize设置首选大小。布局管理器将尝试为您的组件安排这么大的空间。
这取决于你是否在使用布局管理器...
https://stackoverflow.com/questions/1783793
复制相似问题