Swing应用程序在哪里使用?

17

Swing应用程序现在还有使用吗?我找不到它们被使用的地方。跳过AWT和Swing包是否可以(尽管我学习了一些基础知识)?

Swing应用程序仍然在某些领域得到广泛使用,例如桌面应用程序和企业级应用程序。如果您已经掌握了AWT和Swing的基础知识,那么跳过它们可能是可以的,但这取决于您将要开发的应用程序类型。

相关链接:https://dev59.com/GnA75IYBdhLWcg3w_ej1#2994324 - Betamoo
16个回答

1

虽然Swing存在一些跨平台外观和感觉的缺陷,如果更新以支持泛型将会更好,但它仍然设计得很好且非常易用。我一直是其提供的大量自定义选项的粉丝。SWT也不错,而且更本地化,但你也会失去一些控制和能力。此外,它似乎更简单易用,这可能是一个优点,因为Swing由于其灵活性而过于复杂。


1

Geertjan Wielenga经常博客关于基于NetBeans平台和Swing的应用程序。这些应用程序从相当小的专业应用程序到非常大型的关键系统(波音飞机)都有。许多企业级应用程序Geertjan错过了,这些应用程序在Planet NetBeans上提到。似乎每隔几周就会有这样一个程序的公告或描述。

如上所述,许多工具使用Swing,包括IntelliJ IDEA IDE,是一个受欢迎的工具。我很惊讶没有其他人提到它。

Sun以前也维护了一个Swing Sightings网站,但已经有几年没有更新了。

在我的工作中,Swing用于非常大型的文档管理系统的表示层。在我的开发经验中,我已经使用Swing进行桌面应用程序的图像处理、设备控制(视频、电机等)、数学、统计和医疗设备。

顺便说一句,我同意文件选择器的速度很慢。但是有很多替代方案可以使用本地文件选择器。如果外观和感觉不太匹配,可能会有点突兀。

编辑:哦,正如其他人提到的那样,从JVM上的其他语言中使用Swing非常容易。例如,对于Clojure来说,我认为比Java更容易使用。


现在你可以在Oracle网站上找到Swing实例,链接在此处 - Csaba Tenkes

0

关于是否可以跳过某些内容,没有普遍的问题。这是一个优先级的问题。虽然Swing有很多东西可以教给你(它与AWT混合得太重了),但如果你永远不会编写GUI,你可能最好投资其他东西。

尽管Swing丑陋无比,但仍然在许多地方使用。在Indeed或dice上快速搜索“java swing”将揭示许多需要它的工作和行业。


4
摇摆组件(Swing)在很多方面并不是很出色,但远非“丑得要死”。它有许多好的概念,并且在获得一些经验后非常好用。而且最近字体方面的改进使得编写与本机应用程序无异的图形用户界面变得相当容易。 - Lawrence Dol
除了它可以正确调整大小之外,它是无法区分的。 - Lawrence Dol
2
我发现Swing中的文件选择器非常慢 - 我讨厌它们。 - arshad
1
你可以用任何编程语言写出漂亮的东西,但是根据我的经验,与其他 API 相比,以 Swing 编写的应用程序往往更加笨重、缺乏美感和鲁棒性。 - Uri
1
我总是把以下代码放在我的main方法的顶部,以减少丑陋感:UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());(需要加上必要的try/catch)。虽然它仍然不够美观,但它确实有很大帮助。 - Tyler

0

你是为了考试/面试而跳过它吗?除了像 IntelliJ IDEA 和 NetBeans 这样真正好的应用程序,还有很多类似 Swing 的框架 [SWT (Eclipse),GWT 等],你可以更快地学习这些框架如果你具备 Swing 知识的话...


0

你未来的工作可能需要关注JavaFX。正如常见问题解答所述,

Sun公司并不是要用JavaFX Script替换Swing,而是让Swing更易于使用。

学习和使用它将使你对重要的Swing概念有很好的理解,并了解它们与“未来”的结合方式。我还没有使用过JavaFX,但听说它非常好用。


0

Armitage工具是使用Swing制作的,是Metasploit框架的GUI工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接