【问题标题】:What Swing look and feel should I use for a Java desktop application?我应该为 Java 桌面应用程序使用什么样的 Swing 外观?
【发布时间】:2010-05-14 01:43:05
【问题描述】:

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

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

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

【问题讨论】:

  • 这个问题真的很主观,因为“哪个看起来最好”
  • 你认为 Sun 会花时间允许自定义 L&F,并提供(如果我没记错的话)4 个内置的,如果每个人都有一个“最好的”的话应该用吗?
  • 您是否考虑过让 L&F 用户可选择?

标签: java look-and-feel


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 没听说过 Nimbus。一切看起来都不错,除了那些滚动条!呃!
    【解决方案3】:

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

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

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 2012-01-22
        • 2011-01-19
        • 2012-12-12
        • 2012-04-25
        • 2011-02-25
        相关资源
        最近更新 更多