在转向Swing时,有经验的Java SWT程序员应该注意哪些主要内容?
可能遇到的主要差异是什么? 应用程序设计有何重大差异? 线程模型? 你构建GUI的方式是什么? SWT中没有Swing的任何function?
我在Swing和SWT之间的经验很少有发现
- 渲染Swing有点慢(我的经验)并且使用更多的内存
- 原生外观可能只是部分(取决于所选择的look’n’feel)
- 大多数Swing组件以某种方式实现MVC模式 (因此您不必进行自己的数据绑定)
- 可以对组件进行子类化,并在必须更改某个组件的行为时使用它(因此经常使用它)
- Swing发送程序生成的事件 (我讨厌这种行为;])
- 在Swing中,您不必调用(a)syncExec()方法 (您不必关心在SWT中更新GUI的哪个线程,但请务必阅读Swing线程策略(页面末尾) )和Swing中的并发 )
- Swing非常gar(与SWT相比)
- 没有更多dispose()方法;]
- Swing在容器中有标准的布局管理器(参见BorderLayout )并且基础上有不同的布局管理器 (使用MigLayout,它也适用于Swing和SWT,没有竞争对手)
- 您不必在创建组件实例时知道您的父级,但您必须在父级(容器)上使用.add(组件c)方法
- Swing不依赖于平台 (不再为每个平台和x32 / x64构建多个版本)
- Swing有自己的bug (因为其他技术,它是不可避免的)
- 如何以Eclipse中的超级用户身份运行我的应用程序?
- 使用’PlatformUI.getWorkbench()。restart()’重启Eclipse不会重启RCP产品
- 如何使SWT / JFace对话框在所有窗口分辨率下显示类似的行为(布局)
- 使Eclipse使用src / test / resources而不是src / main / resources
- JSP页面导入问题。 类文件放在WEB-INF / classes中的包中
- 线程“main”中的exceptionjava.lang.NoClassDefFoundError:DiServer
- 在“正在更新Maven项目”期间发生内部错误。 org.eclipse.m2e.wtp.WTPProjectsUtil.isM2eWtpDisabled
- Eclipse生成的equals():getOuterType()?
- ADT Eclipse SDK的麻烦 – 没有找到DDMS