Swing今天还在使用吗?

时间:2014-06-27 01:25:56

标签: java swing user-interface obsolete

Is Java Swing still in use?是我发现的最新帖子,它是4岁(现在9岁),所以......

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

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

3 个答案:

答案 0 :(得分:45)

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

大多数 GUI java代码库正在使用JavaFXSwing替代Java8,现在是standard java library的一部分。它允许CSS蒙皮,HTML5元素,还有一个非常好的FXML(XML / HTML的方言),允许非程序员进入"进入那里&# 34;它还有SceneBuilder这是一个免费/标准的GUI drag-n-drop构建器,可以为您的程序自动生成FXML

当我说FXML可以为extended JFrame class GUI替换3,000行Swing代码时,我不会小孩子,有50行FXML。 (我帮助迁移的最近项目)。

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

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

答案 1 :(得分:10)

那么,Intellij IDEA使用Swing作为其UI,所以我不会说它已经过时了。当然,我真的认为它可以使用大规模的改造(阅读:不满意的代码)。

答案 2 :(得分:7)

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