如何创建“外观现代”的 Java 桌面应用程序?

与此类似的问题会定期提出,但其中许多答案已经过时了。

我需要用Java构建一个跨平台桌面应用程序,其GUI的质量与当代桌面应用程序相当。

Swing是默认的选择,但我还没有遇到过一个Swing应用程序,它看起来至少不是过时和笨拙的(我知道是主观的,但是使用GUI很难避免美学判断)。

我注意到新的比特币客户端现在使用QT和Java绑定,并且确实有一个有吸引力的用户界面,但这有一个缺点,它不再是纯Java。

当我搜索与Swing相关的库时,我发现的很多东西都是5年或更早的,尽管从那时起桌面应用程序的美学已经发生了重大变化。

如果您需要从头开始构建Java桌面应用程序,那么您将使用什么来制作其GUI?


答案 1

我还可以为您提供一个新的LaF来研究 - WebLaF。我目前正在研究它,以带来许多UI功能,并通过仅使用WebLaF库的基本功能使任何人使用Swing变得更加容易。

一些示例显示了一些WebLaF组件的外观:Some of WebLaF components

我针对的一些主要目标:

  1. 外观现代的L&F,支持所有Swing组件
  2. 一组广泛的附加组件,您在标准 Swing 中找不到这些组件
  3. 一大组实用程序类,可帮助您编写代码

WebLaF库还提出了一些其他优点和独特功能:

  1. 这是一个开源项目(GPLv3许可)
  2. 使用 painters 系统轻松设置组件样式(特别是 9 补丁文件)
  3. 快速轻松地自定义默认的“Web”样式
  4. 许多功能可以加速和简化 Swing 应用程序界面的创建

您可以尝试演示应用程序,看看它是否足够现代和简单:)


答案 2

你有没有研究过JavaFX 2.0?它旨在与Swing轻松互操作,并具有许多现代“好看”控件。

此外,正如lrAndroid所提到的,如果您通过以下方式设置系统外观和感觉,则Swing应用程序可能看起来像本机应用程序:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

推荐