5

我正计划开发一个允许管理客户端数据的桌面应用程序。我是一位经验丰富的 Java 程序员,但我从来没有真正能够在 Java 中做有吸引力的界面,例如,我个人认为默认的 Swing 组件很糟糕(当我将它与最近的 Web 界面进行比较时)。

所以第一个问题是,我怎样才能在 Java 中制作性感的接口(仍然可以在所有平台上运行)?其次,用 HTML5 制作界面不是一个好主意吗?没有网络服务器就不能运行 HTML5 界面,因为我不需要可以在线访问应用程序,因此我不需要服务器。

4

5 回答 5

4

我同意默认的 Metal Look and Feel 并不太吸引人,但 Java 还有其他 Look and Feels。Nimbus 自 Java SE 6 Update 10 起就包含在 JRE 中,它比 Metal 更新并且看起来更酷,您可能想查看一下:

http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/nimbus.html

您还可以下载许多外部外观并与您的应用程序捆绑在一起。一些例子:

http://geeknizer.com/best-java-swing-look-and-feel-themes-professional-casual-top-10/

http://www.java2s.com/Product/Java/Swing/Look-And-Feel-LaF.htm

于 2012-10-04T13:03:49.577 回答
3
  • 金属外观和感觉(根本)不友好,我们甚至不考虑 Motif。

  • Nimbus 做得更好,但仍然看起来不正确,也不自然

  • 但是,在每个平台上,您都可以使用“系统”的外观和感觉:看起来不错,感觉自然-->良好的用户体验。

  • 如果您想创建自己的外观和感觉,请查看 Synth。这有点像您可以将 CSS 应用到 Swing 组件。

要使用系统外观,没有什么比调用它更容易(在开始任何与 UI 相关的事情之前):

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (InstantiationException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
    e.printStackTrace();
}
于 2012-10-04T13:10:29.503 回答
2

有很多非常好的APIs。最好的之一是Substance,它已正式停产,但有一个名为Insubstantional的活动分支。

这很简单,您可以对其进行大量自定义,请在此处查看更多屏幕截图,如下所示:

在此处输入图像描述

您可能会发现JGoodiesSwingX项目也很有趣。

您还可以查看JavaFX,可以在 Swing 应用程序中包含 JavaFX 组件(您可以在Java Magazine中找到有关这方面的有趣文章),反之亦然。您会喜欢它,因为您可以使用 CSS 来自定义 Outlook。

于 2012-10-04T13:05:01.973 回答
2

如果你想编写一个传统的桌面应用程序,你可能想看看SWT,一个替代的小部件 takeit。它是用于 Eclipse IDE 的小部件集;我认为这看起来不错,肯定比大多数 Swing 应用程序(咳嗽 IntelliJ)要好得多。

于 2012-10-04T13:07:33.440 回答
1

我个人认为默认的 Swing 组件很糟糕(当我将它与最近的 Web 界面进行比较时)。

  • 是的(自 2001/2 稳定的 GUI 以来,有很长的错误历史,一切皆有可能)

  • 不,大部分网页界面看起来像马戏团

所以第一个问题是,我怎样才能在 Java 中制作性感的接口(仍然可以在所有平台上运行)?

为 Swing GUI使用自定义外观

其次,用 HTML5 制作界面不是一个好主意吗?没有网络服务器就不能运行 HTML5 界面,因为我不需要可以在线访问应用程序,因此我不需要服务器。

这个可能的官方 Oracle API for JavaFX2.x或者 ???

于 2012-10-04T13:22:06.917 回答