每当我查找与布局方案,我遇到谁建议不要使用的人setMinimumSize()
,setPreferredSize()
和setMaximumSize()
方法。
典型的论点是,LayoutManager
应该使用正确的代替。
我的理解是LayoutManager
,通过查找组件需要多少空间以便正确调整尺寸,该组件可以计算组件的实际宽度/高度。因此,使用这3种方法对我来说似乎很合理-例如,当您希望某个组件仅具有一定的大小,而让另一个组件始终占用其余部分时。
那么为什么setXXXSize()
不鼓励使用呢?
链接重复项有很多好的答案(我应该避免在Java Swing中避免使用set(Preferred | Maximum | Minimum)Size方法吗?)。
加上以下原因:除了少数例外,如果您使用这些方法,则可能需要对GUI进行微调,以使其在特定的外观(以及系统特定的设置,例如您的首选桌面字体,等等。)。这些方法本身并不是天生的邪恶,但是使用它们的典型原因是。在其他平台上,一旦开始调整布局中的像素位置和大小,您就有冒着GUI断裂(或至少看起来很糟)的风险。
例如,尝试更改应用程序的默认外观。即使仅使用平台上可用的选项,您无疑也会对结果呈现的效果感到惊讶。
因此,以在所有平台上保持GUI正常运行和美观的名义(请记住,Java的主要优点之一就是它的跨平台性),您应该依靠布局管理器等来自动调整大小。您的组件,以便在特定的开发环境之外正确呈现。
综上所述,您当然可以设想这些方法合理的情况。同样,它们并不是天生的邪恶,只需确保您在使用它们时意识到并发的可能性很高,并始终尝试思考是否存在另一种与外观无关的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句