Java Swing 还在使用吗? 是我找到的最新帖子,已有 4 年历史(现在 12 年),所以…
Swing 是否在 专业环境 中使用?我是一名学生,想知道它是否值得学习,或者它的时代是否已经过去。
(我不是在问 Swing 与 AWT 的比较……只是 Swing 在劳动力中是否过时了。)
原文由 Evorlor 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java Swing 还在使用吗? 是我找到的最新帖子,已有 4 年历史(现在 12 年),所以…
Swing 是否在 专业环境 中使用?我是一名学生,想知道它是否值得学习,或者它的时代是否已经过去。
(我不是在问 Swing 与 AWT 的比较……只是 Swing 在劳动力中是否过时了。)
原文由 Evorlor 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
大多数现有的 GUI Java 代码库是
Swing
并且可能会一直保持这种状态,直到代码库腐烂并且没有人再维护它。Majority of new GUI java codebases are using
JavaFX
, which is theSwing
replacement inJava8
and is part of thestandard java library
now.它允许CSS
蒙皮,HTML5
元素,还有一个非常好的FXML
(一种允许非XML/HTML的方言)在那里“并处理GUI布局等。它还有SceneBuilder
这是一个免费/标准的GUIdrag-n-drop
自动生成的构建器—81b70f6551e4cef77773-df-FXML
程序。I kid not when I say
FXML
can replace 3,000 lines ofextended JFrame class
code for aSwing
GUI, with 50 lines ofFXML
. (我最近帮助迁移的项目)。Swing
仍在大量使用,并将继续使用很长时间——毕竟,在很长一段时间内,它是 Java 的唯一选择。JavaFX
然而,它令人耳目一新,非常值得学习。顺便说一句——Swing 建立在 AWT 之上——AWT 有很多问题,其中大部分被 java 项目 (OpenJDK/Oracle) 标记为“不会修复”。 Swing 是为替换/修复 AWT 而构建的,但是有时您会将 AWT 对象结合到您的 Swing 应用程序中。哎呀,有时您会将 Swing 对象结合到您的 JavaFX 应用程序中。我不会费心去学习 AWT,如果你学习 Swing,那么你大部分时间都在学习 AWT。 Swing 与 AWT 的最大区别在于 Swing 组件以字母
J
。例如:JFrame
与Frame
等