今天仍在使用Swing吗?


问题内容

Java Swing是否仍在使用?是我发现的最新帖子,它是4岁(现在是9岁),所以…

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

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


问题答案:

现有的GUI Java代码库多数都Swing将保持这种状态,直到代码库腐烂并且没有人再维护它为止。

大多数 新的 GUI Java代码库都在使用JavaFX,它是的Swing替代品,Java8并且是standard java library现在的一部分。它允许CSS皮肤,HTML5元素,并且还具有非常好的外观FXML(XML /
HTML的方言),它允许非程序员“进入”并进行GUI布局等。它也具有SceneBuilder免费/标准的特性。 GUI drag-n- drop生成器,可FXML为您的程序自动生成。

当我说FXML可以用50行的替换GUI的3,000行extended JFrame class代码时,我不会开玩笑。(我帮助迁移的最新项目)。Swing``FXML

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

顺便说一句-Swing在AWT之上构建-AWT存在很多问题,其中大多数问题都被java项目(OpenJDK / Oracle)标记为“ wont-
fix”。Swing的构建是为了替换/修复AWT,但是有时您会将AWT对象嫁接到您的Swing应用程序中。哎呀,有时您会将Swing对象嫁接到JavaFX应用程序中。我不会为学习AWT而烦恼,如果您学习Swing,则大部分时间都是在学习AWT。Swing与AWT的最大区别是Swing组件以字母开头J。例如:JFramevs
Frame