Swing 现在还在使用吗? [已关闭]

问题描述 投票:0回答:3

Java Swing还在使用吗?是我找到的最新帖子,已经4年了(现在14年了),所以...

Swing 是否在专业环境中使用? 我是一名学生,想知道它是否值得学习,或者它的日子是否已经过去了。

(我不是在问 Swing 与 AWT 的比较……只是问 Swing 在工作中是否已经过时。)

java swing user-interface obsolete
3个回答
66
投票

大多数现有的 GUI java 代码库都是

Swing
,并且很可能会保持这种状态,直到代码库腐烂并且没有人再维护它。

大多数 new GUI java 代码库正在使用

JavaFX
,它是
Swing
中的
Java8
替代品,并且现在是
standard java library
的一部分。它允许
CSS
换肤、
HTML5
元素,并且还有一个非常好的
FXML
(XML/HTML 的方言),它允许非程序员“进入那里”并处理 GUI 布局等。它还具有
SceneBuilder
,这是一个免费/标准 GUI
drag-n-drop
构建器,可以为您的程序自动生成
FXML

当我说

FXML
可以用 50 行
extended JFrame class
代替
Swing
GUI 的 3,000 行
FXML
代码时,我不是开玩笑。 (我最近帮助迁移的项目)。

Swing
仍然被大量使用,并且将持续很长一段时间——毕竟,它是 Java 在很长一段时间内的唯一选择。然而,
JavaFX
令人耳目一新,非常值得学习。

顺便说一句——Swing 构建在 AWT 之上——AWT 有很多问题,其中大多数被 java 项目(OpenJDK/Oracle)标记为“不会修复”。 Swing 旨在替换/修复 AWT,但是有时您会将 AWT 对象结合到 Swing 应用程序中。哎呀,有时您会将 Swing 对象结合到 JavaFX 应用程序中。我不会费心去学习 AWT,如果你学习 Swing,那么你大部分时间都是在学习 AWT。 Swing 与 AWT 的最大区别是 Swing 组件以字母

J
开头。例如:
JFrame
Frame


13
投票

嗯,Intellij IDEA 使用 Swing 作为其 UI,所以我不会说它已经过时了。当然,我真的认为它可以进行一次巨大的修改(阅读:一些不完整的意大利面条代码)。


11
投票

绝对是的。传统的 swing 应用程序仍然受到支持和增强。除此之外别无选择。如果您正在制作 IDE 之类的应用程序,那么 SWING 仍然是首选。新应用程序当然会有 Web 界面,但这实际上取决于应用程序的性质。没有通用规则。

© www.soinside.com 2019 - 2024. All rights reserved.