Swing今天还在使用吗?

Evo*_*lor 32 java user-interface swing obsolete

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

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

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

Sna*_*Doc 51

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

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

我说的不是当我说FXML可以替换3000行extended JFrame class代码的SwingGUI,有50行代码FXML.(我帮助迁移的最近项目).

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

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

  • @Evorlor 是的。如果不是更是如此。JavaFX 已经发展了很多,并且在许多公司的支持下被分成了自己的项目。然而,应该注意的是,如今许多人可能更喜欢创建 Web 应用程序而不是桌面应用程序 - JavaFX 也可以提供帮助。 (8认同)
  • 5年后这个答案还有效吗? (3认同)

han*_*zer 11

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

  • Swing不需要充满意粉代码。那就是应用程序设计。Spring MVC甚至EJB 3.x都可以像意大利面条一样充满代码。我已经看到了用秋千制作的漂亮项目,无论是在内部还是在内部。几十年前,Swing已经完成了JS界现在试图在其单页应用程序中实现的所有操作。这是非常面向对象的,并且对启动具有反应性。 (3认同)

The*_*ode 7

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