5

我正在开发一个 Java 桌面应用程序,我使用 Swing 来构建 GUI。我意识到我可以通过设置不同的 L&F 来改变我的应用程序的外观。

JRE(来自 SUN)为我提供了至少两个 L&F,一个是默认的 Metal L&F,另一个是“系统”L&F,它让我的应用程序具有原生外观。我也可以在互联网上找到一些非常酷的 L&F。

问题是:我的桌面应用程序应该使用哪个 L&F?有人说原生外观会更人性化,这是真的吗?如果我使用系统L&F,我是否应该制作不同版本的用户手册(因为UI会根据操作系统而变化)?

4

4 回答 4

5

除非您尝试为您的应用程序完全自定义外观,否则我建议您使用 System L&F。它确实使您的应用程序更易于使用,因为它使您的应用程序在外观上与平台上的其他应用程序相似,用户可能会熟悉这些应用程序。

我肯定会远离金属 L&F。没有什么比那丑陋的灰色镀铬更能呼唤“90 年代后期的 Java”了。(除非你真的想要那种复古的外观

如果您在不同系统上有足够多的用户来保证在这些系统上测试 UI,那么在多个系统上获取用户手册的屏幕截图也没有什么坏处。如果您正在制作打印副本,您可能只想展示最常见的平台,但可以为您测试过的每个操作系统定制电子副本。

于 2010-05-14T02:00:13.550 回答
2

我猜您并不是要找到最佳外观,您倾向于使用系统外观,但不想在所有平台的文档上投入更多工作量。

实际上,您可以选择一个不错的外观和感觉,例如nimbus或其他东西作为默认皮肤,并允许您的用户在首选项设置中选择“皮肤”。因此,您的文档可以只包含默认皮肤的屏幕截图。

于 2010-05-14T03:21:26.270 回答
0

虽然您确实具有完全的灵活性——PLAF 或可插拔的外观框架是可插拔的——但许多开发人员认为,如果一个应用程序看起来不像其他应用程序,用户会觉得它很奇怪很尴尬他们的操作系统。到目前为止,Swing 具有仅在 OSX 上运行的 OSX 外观和感觉,我认为对于 Windows 也是如此。

当然,虽然这取决于您的受众,但为了商业吸引力而制作的 Swing 应用程序通常会尝试使用本机外观。

注意:在 OSX 上,一些标准的 OSX 功能,例如在苹果菜单下(而不是在文件菜单下,如在 Windows 上)为您的应用程序提供退出功能,仅在其外观中可用。

编辑:对于真正跨平台的应用程序,如果您使用本机外观和感觉,则必须为不同平台提供单独的手册。这可能是避免它并选择你喜欢的一个很好的理由,比如金属。

于 2010-05-14T01:59:10.913 回答
0

如果跨平台性对您很重要,那么我会选择 nimbus(这与金属非常不同)。一个看起来像原生的应用只会让用户感到困惑,除非它的行为与原生应用完全一样。

于 2010-05-14T02:10:20.753 回答