2

我使用 SWT UI 库和 MigLayout 布局库编写了一个 Java UI。

此页面显示了 Windows、Linux 和 OSX 上的 UI 屏幕截图:http: //mchr3k.github.com/org.intrace/screenshots.html

在 Linux 和 OSX 上,我的 UI 有更多的填充和间距,我觉得这浪费了很多屏幕空间。这些平台正常吗?如果没有,解决此问题的最佳方法是什么?

编辑:链接的屏幕截图现已更新,并且不再在 OSX 上显示额外的间隙,因为我已将一些 UI 元素的边距显式设置为 0。OSX UI 的间距仍然很大,但我认为这是正确的该平台。

4

2 回答 2

16

这是 MigLayout 的创建者 Mikael Grev。

正如其他人提到的,这是 MigLayout 的一个功能。默认情况下,它不使用 x 个像素(当然你也可以使用它),而是使用相关、不相关和段落之类的间隙。这些对应于不同 UI 工具包中的不同大小。例如,在 OS X 上,推荐的组件之间的空白空间比在 Windows 上要大。

所以,是的,这就是它应该看起来的样子,并且对于本机 OS X 用户来说它看起来是正确的。

不过,在 OS X 和 Windows 中,“输出”窗格的底部似乎确实有太多的空白。

您可以使用 MigLayout 中的 PlatformDefaults 类来强制平台或更改默认间隙。如果您想知道幕后发生的事情,请查看源代码。

请记住,这是一个功能,因此每个开发人员都不必跟踪间距在不同平台上的外观,这有点困难。

干杯,米凯尔

于 2011-06-13T08:23:23.573 回答
1

如果我没记错的话,这实际上是 MigLayout 的一个功能。如果你不想要这个,我相信你可以配置 MigLayout。否则,您可以使用不同的布局管理器(但我仍然强烈推荐基于表格的布局管理器),它为所有平台(例如我的MatrixLayout)使用恒定间距。

于 2011-06-13T03:12:45.987 回答