一尘不染

Java桌面应用程序:SWT与Swing的比较

java

我现在是一名Web开发人员,正在考虑构建我的第一个真正的桌面应用程序。这个想法是要构建一个工具,该工具可以在没有API的Web应用程序中自动执行非常重复的任务。

我知道我想使用Java。我以前在网络上使用过它,非常了解语法,并希望应用程序尽可能地跨平台。

我不确定的地方是应该使用SWT还是Swing。当我的主要受众使用Windows时,我希望在那里尽可能使用本机。Linux和Mac应该可以工作,但是外观在这里并不那么重要。

那么支持和反对每个UI框架(Swing或SWT)的参数是什么?

谢谢。

PS:我使用Eclipse在Windows上进行开发。但是正在考虑与Netbeans一起玩。


阅读 262

收藏
2020-09-08

共1个答案

一尘不染

优点摇摆:

  • Java库的一部分,无需其他本机库
  • 在所有平台上的工作方式相同
  • Netbeans和Eclipse中的集成GUI编辑器
  • Sun / Oracle的优秀在线教程
  • 受官方Java扩展支持(例如Java OpenGL)

缺点摇摆:

  • 本机外观可能与实际本机系统有所不同。
  • 重型部件(本机/毛坯)隐藏秋千部件,在大多数情况下都不是问题,因为使用重型部件很少

优点SWT:

  • 尽可能使用本机元素,因此始终使用本机行为
  • 由eclipse,gui编辑器VEP支持(VEP还支持Swing和AWT)
  • 在线大量示例
  • 具有集成的awt / swt桥以允许使用awt和swing组件

缺点SWT:

  • 需要每个受支持系统的本机库
  • 由于使用了本机资源,可能无法支持所有系统上的所有行为(提示选项)
  • 管理本机资源,而本机组件通常将与它们的父级一起处置,其他资源(如字体)则必须手动释放或注册为组件的侦听器以自动释放。
2020-09-08