问题描述
我已经使用SWT UI库和MigLayout布局库编写了Java UI。
本页显示Windows,Linux和OSX上的UI的屏幕截图:http://mchr3k.github.com/org.intrace/screenshots.html
在Linux和OSX上,我的UI具有更多的填充和间距,我觉得这浪费了很多屏幕空间。这些平台正常吗?如果没有,解决此问题的最佳方法是什么?
编辑:链接的屏幕截图现已更新,不再在OSX上显示额外的间隙,因为我已将我的某些UI元素的边距明确设置为0。该平台。
解决方法
这是MigLayout的创建者Mikael Grev。
正如其他人提到的,这是MigLayout的功能。默认情况下,不是使用x个像素(您当然也可以使用它),而是使用相关,不相关和段落之类的间隙。这些对应于不同UI工具包中的不同大小。例如,在OS X上,建议组件之间的空白空间大于Windows上的空间。
因此,是的,这就是它的外观,对于本机OS X用户而言,它将看起来正确。
但是,在OS X和Windows中,“输出”窗格的底部似乎确实有太多空白。
您可以在MigLayout中使用PlatformDefaults类来强制平台或更改默认间距。如果您想了解幕后情况,请检查源代码。
记住,这是一个功能,因此每个开发人员都不必跟踪间距在不同平台上的样子,这很难。
干杯,
米凯尔
, 如果我没记错的话,那实际上是MigLayout的功能。如果您不希望这样做,请确保可以配置MigLayout。否则,您可以使用其他布局管理器(但我仍然强烈建议使用基于表的布局管理器),该管理器对所有平台(例如我的MatrixLayout)使用恒定的间距。