如何全局压缩Matisse生成的GroupLayout和其他间隙,以使与Matisse和GroupLayout生成的Swing对话框更紧凑?
我已经使用Matisse在Java Swing中重新实现了一些最初在Visual Basic的GUI构建器中为Windows开发的大型对话框。
Swing Windows L&F中的结果与本机(特定年龄的)非常相似,除了更"分散"。在较低的分辨率下,它们从屏幕上泄漏出来。这对应用来说是一个真正的问题。
测量显示所有的差距按比例大于Windows默认值。(Swing缩放不同分辨率的方式也没有帮助。)这包括马蒂斯发出的ContainerGap
s和L& f控制的GUI组件之间的间隙。
我看过GroupLayout
文档和我能找到的马蒂斯文档。我已经研究了L&F参数和ContainerGap
以及GroupLayout
源中的相关类。没有什么能把我带到我要去的地方。
感谢大家的意见。
有太多的方式可能是错误的,没有一个调整点可以解决它。Visual Basic版本在它的单一目标平台上看起来确实不错。在设计上,Swing依赖于pack()
,它"使Window
的大小适合其子组件的首选大小和布局"。首选的大小可能因平台而异,如这个嵌套布局示例所示。相反,研究可用的布局,并以一种专注的方式使用GUI设计器,就像这里建议的那样。
如果不了解Swing布局,在GUI设计器中没有简单的方法来修复布局问题;令人高兴的是,GUI设计器是研究各种Swing布局效果的绝佳方法。