Java Swing还在使用吗?是我找到的最新帖子,已经4年了(现在14年了),所以...
Swing 是否在专业环境中使用? 我是一名学生,想知道它是否值得学习,或者它的日子是否已经过去了。
(我不是在问 Swing 与 AWT 的比较……只是问 Swing 在工作中是否已经过时。)
大多数现有的 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
等
嗯,Intellij IDEA 使用 Swing 作为其 UI,所以我不会说它已经过时了。当然,我真的认为它可以进行一次巨大的修改(阅读:一些不完整的意大利面条代码)。
绝对是的。传统的 swing 应用程序仍然受到支持和增强。除此之外别无选择。如果您正在制作 IDE 之类的应用程序,那么 SWING 仍然是首选。新应用程序当然会有 Web 界面,但这实际上取决于应用程序的性质。没有通用规则。