跨平台UI间距/填充

问题描述

我已经使用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)使用恒定的间距。