Java Swing还在使用吗?

Mar*_*ski 31 java user-interface swing awt

我打算制作一个Java Swing应用程序,并想知道Swing是否仍在使用或是否已被其他东西替换.

提前致谢!

Bet*_*moo 24

Swing仍然在使用....但有AWT !!

AWT:

优点:

  • 速度:使用本地对等体可加快组件性能.
  • 外观和感觉:AWT组件更接近地反映了它们运行的​​操作系统的外观和感觉.

缺点:

  • 可移植性:使用本机对等体创建特定于平台的限制.某些组件在某些平台上可能根本不起作用.
  • Third Party Development: the majority of component makers, including Borland and Sun, base new component development on Swing components. There is a much smaller set of AWT components available, thus placing the burden on the programmer to create his or her own AWT-based components.
  • Features: AWT components do not support features like icons and tool-tips.




Swing:

Pros:

  • Portability: Pure Java design provides for fewer platform specific limitations.
  • Behavior: Pure Java design allows for a greater range of behavior for Swing components since they are not limited by the native peers that AWT uses.
  • Features: Swing supports a wider range of features like icons and pop-up tool-tips for components.
  • Vendor Support: Swing development is more active. Sun puts much more energy into making Swing robust.
  • 外观:可插拔的外观让您可以设计一组GUI组件,这些组件可以自动拥有任何操作系统平台(Microsoft Windows,Solaris,Macintosh等)的外观.它还使您可以更轻松地对Java程序进行全局更改,从而提供更高的可访问性(例如选择高对比度颜色方案或更改所有对话框中的所有字体等).

缺点:

  • 性能:Swing组件通常比AWT更慢和更慢,因为它们都是纯Java和各种平台上的视频问题.由于Swing组件处理他们自己的绘画(而不是像Windows上的DirectX那样使用本机API),您可能会遇到图形故障.
  • 外观和感觉:即使Swing组件设置为使用它们运行的​​操作系统的外观和感觉,它们可能看起来不像它们的本机对应物.



更多阅读..

  • "Applet可移植性:大多数Web浏览器都支持AWT类,因此AWT applet可以在没有Java插件的情况下运行." 这显然是错误的. (11认同)
  • 啊?我想这是20世纪90年代你还在使用Netscape 4.0,对吧? (6认同)
  • 我不推荐使用AWT,这些天它的爱情很少(除了Swing所需的位数).如果你想沿着原生路径走下去,最好使用SWT. (4认同)

Joe*_*ips 14

是的它仍在使用中.

更新:它仍在使用中.


Jam*_*son 12

Swing仍然存在且得到很好的支持.

人们在第一次出现时讨厌摇摆的大多数原因都不再仅仅因为Moores Law以及改进的JVM而变得有效.摇摆应用程序没有loger感到生涩和不负责任,并且积累的微小改进导致更专业的GUI.

它还值得研究"groovy/swing"组合,以实现快速开发和原型设计.


Rom*_*eau 11

我们仍然使用它.并非所有内容都是Web应用程序,到目前为止已经有一些暂时的替换(例如SWT,其中写入了eclipse)
SWT有一个本机层,它包含对本机窗口层的底层调用.它仅适用于有限的一组平台,当然还需要一些第三方共享库.我冒昧地说,SWT应用程序远远少于Swing应用程序.

  • 现代来说(Java8),JavaJX 是一个很好的替代品,值得学习。 (2认同)

Iva*_*tin 9

是.StackOverflow 上120个问题中大约有1个是关于Swing的在此输入图像描述.

  • 也许 JavaFX 太容易使用了,没有人对它有疑问?;) (2认同)

小智 5

是的,它仍在使用中。该库仍然是 JRE 的一部分,未来可能会如此。不过还有其他选择。例如,如果您需要丰富的 UI,您可能需要查看 JavaFX;或在您的应用程序中使用 SWT。也许您想要某种 3D 效果,并且您需要研究像 jpct 或 jmonkeyengine 这样的 3D 引擎。自软件 Swing 世界以来,Java 取得了一些进展。