我应该将什么样的Swing外观用于Java桌面应用程序?

时间:2010-05-14 01:43:06

标签: java look-and-feel

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

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

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

4 个答案:

答案 0 :(得分:5)

除非您尝试完全自定义外观,否则我建议使用系统L& F.它使您的应用程序更容易使用,使其在外观上与平台上的其他应用程序类似,用户可能会熟悉它。

我肯定会远离Metal L& F.没有什么能像“丑陋的灰色铬”那样尖叫“90年代后期的Java”。 (除非那个复古外观实际上就是你要去的。)

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

答案 1 :(得分:2)

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

实际上,您可以选择合适的外观,如nimbus或其他作为默认皮肤,并允许您的用户在偏好设置中选择“皮肤”。因此,您的文档可以包含默认皮肤的屏幕截图。

答案 2 :(得分:0)

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

虽然它取决于您的受众,但当然,针对商业吸引力的Swing应用通常尝试使用原生外观。

注意:在OSX上,一些标准的OSX之类的东西,比如苹果菜单下的应用程序退出(而不是在Windows下的文件菜单下),它们的外观和感觉都是可用的。

编辑:要使应用真正实现跨平台,如果您使用原生外观,则必须为不同平台配备单独的手册。这可能是避免它并选择你喜欢的一个的好理由,比如Metal。

答案 3 :(得分:0)

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