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

Java桌面应用程序应该使用什么样的Swing外观?,java,look-and-feel,Java,Look And Feel,我正在开发一个Java桌面应用程序,并使用Swing构建GUI。我意识到我可以通过设置不同的L&F来改变我的应用程序的外观 JRE(来自SUN)为我提供了至少两个L&F,一个是默认的金属L&F,另一个是“系统”L&F,它让我的应用程序具有本地外观。我还可以在网上找到一些非常酷的L&F 问题是:我的桌面应用程序应该使用哪种L&F?有人说土生土长的外观会更加人性化,是真的吗?如果我使用系统L&F,我是否应该制作不同版本的用户手册(因为UI会随着操作系统的变化而变化)?而您确实拥有完全的灵活性——PL

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

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


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

而您确实拥有完全的灵活性——PLAF或可插拔的外观框架,可插拔——许多开发人员相信,如果一个应用程序与他们操作系统上的其他应用程序不一样,用户会觉得它很奇怪,很尴尬。到目前为止,Swing的OSX外观仅在OSX上运行,我认为Windows的情况正好相反

当然,这取决于你的受众,但为商业吸引力而开发的Swing应用程序通常会尝试使用本地的外观

注意:在OSX上,一些标准的OSX功能,如在apple菜单下(而不是在Windows上的文件菜单下)让您的应用程序退出,仅在外观上可用


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

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

我肯定会远离金属L&F。没有什么比那难看的灰色铬合金更能呼喊“90年代末的爪哇”。(除非你真正想要的是复古风格。)


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

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

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


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

这个问题很主观,因为“哪一个看起来最好”您认为Sun会一直允许定制L&F,并提供(如果我没记错的话)4个内置的,如果有“最佳”吗每个人都应该使用的一个?你考虑过让L&F用户可选吗?没有听说过Nimbus。除了那些滚动条,一切看起来都很好!乌尔克!