在我目前的项目中,我们必须用 java 开发一个漂亮的基于桌面的应用程序。
目前,我们有一个用 Swing 编写的非常基本的桌面应用程序,团队没有很好的 Swing 知识。我们可以在 Swing 中创建一个非常好看的 UI 吗?
我们应该使用 JavaFX 来创建桌面应用程序吗?
有什么其他选择可以做到这一点?
在我目前的项目中,我们必须用 java 开发一个漂亮的基于桌面的应用程序。
目前,我们有一个用 Swing 编写的非常基本的桌面应用程序,团队没有很好的 Swing 知识。我们可以在 Swing 中创建一个非常好看的 UI 吗?
我们应该使用 JavaFX 来创建桌面应用程序吗?
有什么其他选择可以做到这一点?
Swing 在外观方面非常灵活,您当然可以使用 Swing 制作非常漂亮的应用程序。
如果你想学习如何制作漂亮的 Swing GUI 应用程序,我推荐 Chet Haase 和 Romain Guy 所著的《Filthy Rich Clients 》一书。
你可以让它看起来像你想要的那样。特别是如果你写出自己的外观和感觉。我自己用半透明面板和简单的按钮完成了它。
看一下屏幕截图:
http://www.taranfx.com/best-java-swing-look-and-feel-themes-professional-casual-top-10
Nimbus是一种新的外观和感觉,它越来越受欢迎,它看起来非常专业:
您当然可以在 Swing 中创建漂亮的 UI—— NetBeans和IntelliJ IDEA等应用程序已经证明了这一点。
Swing 的唯一替代方案是SWT(Eclipses 工具包),但是它不像 Swing 那样可移植,也没有那么灵活。然而,它提供了更快的性能和对本机组件的使用,这可能是某些人真正想要的。
大多数现有的 GUI 工具包也有 Java 绑定 - 例如Gnome 的 Java,有人可能会觉得它们很有趣。
然而,我更喜欢 Swing 的极端可移植性、MVC 采用、可插入的外观和感觉、许多带有附加组件( SwingX、JIDE等)的第三方库的可用性以及易用性。
顺便说一句,为了在 Swing 中获得最佳结果,选择一个好的布局管理器是必不可少的——我建议你看看全能的MiG 布局。
不要用 bargepole 触摸 JavaFX 1。
然而,JavaFX 2 看起来很有前途,Oracle 表示他们将把它紧密集成到 Java 8。它背后有一个非常好的 API,它是图形加速的,你可以使用 CSS3 和默认情况下随意设置它的外观看起来也不错。
唯一需要注意的是,它根本不适用于 Linux - 但如果您希望开发一个将在未来几年左右发布的应用程序,或者您不太担心等待跨平台支持,是个不错的选择。
从你的回答来看,你的问题不是很清楚。一个简单但通常足够的解决方案是将应用程序的外观更改为系统默认外观(因此 Swing 看起来就像一个原生应用程序)。您需要做的就是在创建/显示任何 UI 之前在某处插入以下代码(如果您不知道在哪里,请将其作为主方法中的第一个):
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
// exit application, log or ignore exception
}