Swing今天还在使用吗?

Java Swing还在使用吗? 是我发现的最新post,它是4岁(现在8岁),所以……

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

(我不是在询问Swing-AWT比较……只是Swing在劳动力中是否已经过时了。)

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

大多数新的 GUI java代码库都使用JavaFXJavaFXJava8Swing替代品, Java8standard java library一部分。 它允许CSS皮肤, HTML5元素,并且还有一个非常好的FXML (XML / HTML的方言),它允许非程序员“进入那里”并处理GUI布局等。它还有SceneBuilder ,它是一个免费/标准的GUI drag-n-drop构建器,可为您的程序自动生成FXML

当我说FXML可以替换3000行extended JFrame class代码用于Swing GUI,而不是50行FXML时,我不FXML 。 (我帮助迁移的最近项目)。

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

顺便说一句 – Swing构建在AWT之上 – AWT有很多问题,其中大部分被java项目(OpenJDK / Oracle)标记为“不会修复”。 构建Swing是为了替换/修复AWT,但有时您会将AWT对象与Swing应用程序结合。 哎呀,有时你会把Swing对象和你的JavaFX应用程序结合起来。 我不打算学习AWT,如果你学习Swing,你大部分时间都在学习AWT。 与Swing和AWT最大的区别是Swing组件以字母J开头。 EX: JFrame vs Frame

好吧,Intellij IDEA使用Swing作为UI,所以我不会说它已经过时了。 当然,我真的认为它可以使用大规模的改造(阅读:没有充满意大利面条代码的东西)。

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