Swing与SWT

我应该使用什么标准来选择SWT和Swing? 我认为它们都提供了令人满意的GUI性能和平台可用性。

我个人的标准目前包括:

  • 布局/布局管理员;
  • 数据绑定;
  • 预建控件;
  • 易于开发。

我在SWT和Swing之间做出选择的标准:

  1. 文档的质量和可用性(文档,书籍,教程,片段)
  2. 自定义组件数量(商业和免费)
  3. RAD窗口构建器,自动化测试平台等开发工具的质量和可用性。
  4. 原生外观与自定义外观
  5. 学习曲线(与第一点相关)/易于开发

注意 :我在小项目上只有SWT的商业经验,我的摇摆经验很小,不能认真对待 – 我的知识相当理论而非实际。

简要介绍一下我的SWT / Eclipse RCP经验 – 在下一个项目中, 我会选择Swing 。 它对我来说似乎比SWT更容易(你没有必须手工处理组件以防止内存泄漏,你向面板添加组件而不是使用父面板信息构建组件,前者更接近我以前的经验……等等。),原生的外观和感觉你也可以摆动,整体性能足够好(swt应该更快,因为它使用支持操作系统的原生组件 – 但性能增益真的很大吗?我不这么认为.. )。 Swing中有很多自定义组件比SWT更多(这对于挥杆而言非常大)。

在SWT中,你可能很难让你的平局符合你想要的方式,在Swing中通常更容易。 在SWT中,您还需要在创建子组件时传入构造函数中的父组件。 如果你想创建一个动态变化的gui,这可能会让它变得有点棘手。 否则,SWT非常容易使用。