有经验的Java SWT程序员在转向Swing时应该注意哪些主要内容?

时间:2011-07-12 04:12:35

标签: java eclipse swing swt

可能遇到的主要差异是什么?应用程序设计有哪些重大差异?线程模型?你构建GUI的方式是什么? SWT中没有的任何SWT功能?

1 个答案:

答案 0 :(得分:5)

我在Swing和SWT之间的经验几乎没有发现

  • Swing渲染速度稍慢(我的体验)并且使用更多内存
  • 本地外观可能只是部分(取决于所选择的look'n'feel)
  • 大多数Swing组件以某种方式实现MVC模式(因此您不必自己创建数据)
  • 可以对组件进行子类化,并在必须更改某个组件的行为时使用它(因此经常使用它)
  • Swing发送程序生成的事件(我讨厌这种行为;])
  • 在Swing中你不必调用(a)syncExec()方法(你不必关心你在哪个线程更新你的GUI,就像在SWT中一样,但是一定要阅读Swing threading policy (end of page)Concurrency in Swing
  • Swing非常gar(与SWT相比)
  • 没有更多dispose()方法;]
  • Swing在容器中有标准布局管理器(参见BorderLayout)并且基于different layout managers(使用MigLayout,它也适用于Swing和SWT,没有竞争对手)
  • 您不必在创建组件实例时知道您的父级,但您必须在父级(容器)上使用.add(组件c)方法
  • Swing不依赖于平台(不再为每个平台和x32 ​​/ x64构建多个版本)
  • Swing有自己的错误(与其他技术一样,这是不可避免的)