我正计划开发一个允许管理客户端数据的桌面应用程序。我是一位经验丰富的 Java 程序员,但我从来没有真正能够在 Java 中做有吸引力的界面,例如,我个人认为默认的 Swing 组件很糟糕(当我将它与最近的 Web 界面进行比较时)。
所以第一个问题是,我怎样才能在 Java 中制作性感的接口(仍然可以在所有平台上运行)?其次,用 HTML5 制作界面不是一个好主意吗?没有网络服务器就不能运行 HTML5 界面,因为我不需要可以在线访问应用程序,因此我不需要服务器。
我正计划开发一个允许管理客户端数据的桌面应用程序。我是一位经验丰富的 Java 程序员,但我从来没有真正能够在 Java 中做有吸引力的界面,例如,我个人认为默认的 Swing 组件很糟糕(当我将它与最近的 Web 界面进行比较时)。
所以第一个问题是,我怎样才能在 Java 中制作性感的接口(仍然可以在所有平台上运行)?其次,用 HTML5 制作界面不是一个好主意吗?没有网络服务器就不能运行 HTML5 界面,因为我不需要可以在线访问应用程序,因此我不需要服务器。
我同意默认的 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
金属外观和感觉(根本)不友好,我们甚至不考虑 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();
}
有很多非常好的APIs。最好的之一是Substance,它已正式停产,但有一个名为Insubstantional的活动分支。
这很简单,您可以对其进行大量自定义,请在此处查看更多屏幕截图,如下所示:
您还可以查看JavaFX,可以在 Swing 应用程序中包含 JavaFX 组件(您可以在Java Magazine中找到有关这方面的有趣文章),反之亦然。您会喜欢它,因为您可以使用 CSS 来自定义 Outlook。
如果你想编写一个传统的桌面应用程序,你可能想看看SWT,一个替代的小部件 takeit。它是用于 Eclipse IDE 的小部件集;我认为这看起来不错,肯定比大多数 Swing 应用程序(咳嗽 IntelliJ)要好得多。
我个人认为默认的 Swing 组件很糟糕(当我将它与最近的 Web 界面进行比较时)。
是的(自 2001/2 稳定的 GUI 以来,有很长的错误历史,一切皆有可能)
不,大部分网页界面看起来像马戏团
所以第一个问题是,我怎样才能在 Java 中制作性感的接口(仍然可以在所有平台上运行)?
为 Swing GUI使用自定义外观
其次,用 HTML5 制作界面不是一个好主意吗?没有网络服务器就不能运行 HTML5 界面,因为我不需要可以在线访问应用程序,因此我不需要服务器。