我们能否开发出外观精美的UI,如果没有,还有哪些替代方法

问题描述 投票:23回答:6

在我当前的项目中,我们必须用Java开发一个美观的基于桌面的应用程序。

[目前,我们有一个非常基本的桌面应用程序,它是用swing编写的,并且团队没有很好的swing知识。我们可以在秋千中创建一个非常漂亮的UI吗?

我们应该使用JavaFX创建桌面应用程序吗?

还有其他替代方法吗?

java swing desktop-application javafx look-and-feel
6个回答
25
投票

Swing在外观方面非常灵活,您当然可以使用Swing制作外观非常漂亮的应用程序。

如果您想学习如何制作出色的Swing GUI应用程序,我推荐Chet Haase和Romain Guy的书Filthy Rich Clients


9
投票

检查出推动像素。 Kirill是Substance的作者,它为Swing提供了许多新的外观选择。 Here是一个博客条目,显示了一些Swing可以实现的功能。曾经有一个指向他在Java One上的2007年演讲的链接,但是不幸的是,该链接不再起作用。


8
投票

您可以根据需要随意设置外观。特别是当您编写自己的外观时。我自己用半透明的面板和简单的按钮完成了操作。

查看以下屏幕快照:

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

Nimbus是一种新的外观,越来越受欢迎,它看起来非常专业imo:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9pSGZKRS5wbmcifQ==” alt =“在此处输入图像描述”>


5
投票

您当然可以在Swing中创建外观精美的UI-NetBeansIntelliJ IDEA之类的应用程序已在许多其他方面证明了这一点。

Swing唯一的替代方法是SWT(Eclipses工具箱),但是它不像Swing那样具有可移植性,而且灵活性也不强。但是,它提供了更快的性能和本机组件的使用,这可能是某些人实际上想要的。

也有大多数现有GUI工具包的Java绑定-例如Java for Gnome,有人可能会发现它们很有趣。

但是,我偏爱Swing的极端可移植性,采用MVC,可插拔的外观,具有附加组件(SwingXJIDE,...)的许多第三方库的可用性以及易用性。

顺便说一句,要在Swing中获得最佳效果,选择一个好的布局管理器是必不可少的-我建议您看看全能的MiG layout


2
投票

不要用粗线触摸JavaFX 1。

但是JavaFX 2看起来非常有前途,Oracle表示他们将把它紧密地集成到Java 8中。它背后有一个非常不错的API,它的图形化加速,您可以使用CSS3随意修改它的外观,并通过默认情况下,它看起来也不错。

[仅需警告的是,它根本不适用于Linux-但是,如果您要开发一个将在未来几年左右发布的应用程序,或者您不太担心等待交叉发行,平台支持,这是一个不错的选择。


1
投票

从您的答复中并不清楚您的问题是什么。一个简单但通常足够的解决方案是将应用程序的外观更改为系统默认的外观(因此,Swing看起来就像本机应用程序一样)。您需要做的就是在创建/显示任何UI之前的某个位置插入以下代码(如果您不知道在哪里,请将其作为主方法的第一个放置):

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
// exit application, log  or ignore exception
}
© www.soinside.com 2019 - 2024. All rights reserved.