我该如何选择 SWT 和 Swing?假设它们都提供了令人满意的 GUI 性能和平台可用性。
目前,我的个人标准包括:
- 布局/布局管理器;
- 数据绑定;
- 预构建控件;
- 开发难度。
在选择 SWT 和 Swing 时,我的标准是:
注意:我只有在小项目中使用 SWT 的商业经验,而我的 Swing 经验太少,无法严肃对待。我的知识更多是理论上的。
简单来说,在我的 SWT / Eclipse RCP 经验之后 - 在下一个项目中,我会选择 Swing。 它的 api 对我来说比 SWT 更容易(您不必手动管理组件以防止内存泄漏,而是将组件添加到面板中而不是使用父面板信息构造组件等等),Swing 也可以获得本地外观,总体性能足够好(SWT 应该更快,因为它使用后端操作系统的本机组件 - 但是性能提升真的很大吗? 我不这样认为..)。并且 Swing 中有比 SWT 更多的自定义组件(这对于 Swing 来说是非常大的优点)。
在SWT中,精确地获得所需的布局可能会比较困难,而在Swing中则通常更容易。在创建子组件时,在构造函数中还需要传递父组件的信息,这可能会使动态创建GUI变得有些棘手。除此以外,SWT非常易于使用。