可能遇到的主要差异是什么?应用程序设计有什么重大差异吗?线程模型?您构建 GUI 的方式是什么? SWT 中有哪些功能在 Swing 中不可用?
最佳答案
根据我在 Swing 和 SWT 之间的经验得出的一些结论
- Swing 的渲染速度有点慢(我的经验)并且使用更多内存
- 只能部分呈现原生外观(取决于所选的外观和感觉)
- 大多数 Swing 组件都以某种方式实现 MVC 模式(因此您不必创建自己的数据绑定(bind))
- 可以对组件进行子类化,并且当您必须更改某些组件的行为时使用它(因此经常使用)
- Swing 发送程序生成的事件(我讨厌这种行为;])
- 在 Swing 中,您不必调用 (a)syncExec() 方法(您不必像在 SWT 中那样关心从哪个线程更新 GUI,但可以请务必阅读 Swing threading policy (end of page) 和 Concurrency in Swing )
- Swing 确实很啰嗦(与 SWT 相比)
- 不再有 dispose() 方法;]
- Swing 在容器中具有标准布局管理器(请参阅 BorderLayout )并具有 different layout managers基础(使用 MigLayout,它也适用于 Swing 和 SWT,没有竞争对手)
- 您不必知道创建组件实例时的父级,但您必须在父级(容器)上使用 .add(Component c) 方法
- Swing 不依赖于平台(不再针对每个平台和 x32/x64 进行多重构建)
- Swing 有其自身的错误(与其他技术一样,这是不可避免的)
关于java - 经验丰富的 Java SWT 程序员在转向 Swing 时应注意哪些主要事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659413/