Swing 今天还在使用吗?

新手上路,请多包涵

Java Swing 还在使用吗? 是我找到的最新帖子,已有 4 年历史(现在 12 年),所以…

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

(我不是在问 Swing 与 AWT 的比较……只是 Swing 在劳动力中是否过时了。)

原文由 Evorlor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 880
2 个回答

大多数现有的 GUI Java 代码库是 Swing 并且可能会一直保持这种状态,直到代码库腐烂并且没有人再维护它。

Majority of new GUI java codebases are using JavaFX , which is the Swing replacement in Java8 and is part of the standard java library now.它允许 CSS 蒙皮, HTML5 元素,还有一个非常好的 FXML (一种允许非XML/HTML的方言)在那里“并处理GUI布局等。它还有 SceneBuilder 这是一个免费/标准的GUI drag-n-drop 自动生成的构建器—81b70f6551e4cef77773-df- FXML 程序。

I kid not when I say FXML can replace 3,000 lines of extended JFrame class code for a Swing GUI, with 50 lines of FXML . (我最近帮助迁移的项目)。

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

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

原文由 SnakeDoc 发布,翻译遵循 CC BY-SA 3.0 许可协议

好吧,Intellij IDEA 使用 Swing 作为它的 UI,所以我不会说它已经过时了。诚然,我真的认为它可以进行一次大修(读作:不是满是意大利面条代码的东西)。

原文由 hanetzer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题