Is Java Swing still in use?是我发现的最新帖子,它是4岁(现在9岁),所以......
在专业环境中是否使用Swing?我是一名学生,想知道是否值得学习,或者是否已过去。
(我不是在询问Swing-AWT比较......只是Swing在劳动力中是否已经过时了。)
答案 0 :(得分:45)
现有的大多数GUI java代码库都是Swing
,并且可能会保持这种状态,直到代码库腐烂并且没有人再维护它。
大多数新 GUI java代码库正在使用JavaFX
,Swing
替代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界面,但这实际上取决于应用程序的性质。没有通用规则。