java - 经验丰富的 Java SWT 程序员在转向 Swing 时应注意哪些主要事项?

标签 java eclipse swing swt

可能遇到的主要差异是什么?应用程序设计有什么重大差异吗?线程模型?您构建 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/

相关文章:

java - 发送数据到前一个JFrame

java - RecyclerView 加载图像时出现滞后

java - 登录关系型数据库并扩展日志接口(interface)

java - 没有可用的 'javax.sql.DataSource' 类型的合格 bean

java - 删除 Eclipse 符号

java - 如何使用 JNLP 文件选择器返回文件路径

java - 使用 protected 构造函数匿名初始化类

java - 语法错误,插入 "EnumBody"以完成 EnumDeclaration

java - 从列表中获取任何元素

java - 为小型桌面应用程序构建 GUI