Swing到SWT转换:哪些缺点?

Mot*_*Mot 6 java port swing swt

我们正在考虑将我们的Swing应用程序移植到SWT/JFace,以获得更原生的外观和感觉,更多的UI渲染速度和更少的错误.

有没有人已经做过这样的端口,想要分享一些信息,特别是我们应该期待的缺点?提前致谢.

PS:也许这应该是一个维基,因为接受一个作为最终答案毫无意义.

Aar*_*lla 5

根据我的经验:

  • SWT并非适用于所有平台.确保支持所有目标平台.

  • 修复SWT中的错误比在Swing中更难:SWT中的大多数类都是final或在构造函数中包含恶意检查以确保没有人扩展它们,包被签名(所以你不能简单地替换类),到目前为止,我曾多次尝试从源代码编译SWT - 但失败了.在StackOverflow上有47K点,可以想象我应该能够编译Java代码......

  • Swing有很多自定义组件,SWT只有项目星云,它不是很活跃.虽然可以混合Swing和SWT组件,但这不适合胆小的人.

PS:我还是喜欢SWT而不是Swing :-)

  • SWT的大多数问题都来自缺失的功能.据我所知,SWT实现了Windows,MacOS和GTK中最小的常见子集 - 如果您需要在Windows上运行但未在Linux上实现的东西,则无法使用它.最后,它取决于您的应用程序需要什么.如果它只是一个无聊的数据输入应用程序,你应该没问题.如果你想要更像Web 2.0的东西,它可能会很棘手. (2认同)