SWT组件的生命周期(续一个简单的SWT程序实例及详解)
来源:互联网 发布:三菱plc中文编程手册 编辑:程序博客网 时间:2024/04/29 15:21
上一篇详细介绍了一个SWT实例,这一篇接下来介绍SWT组件的生命周期
本篇译自《 Eclipse.Building.Commercial.Quality.Plug.ins.2nd.Edition 》第四章第二节,希望对入门者有所帮助。
组件的生命周期
设计 SWT 的一个目标就是小而灵巧。为了达到这个目标,一个基本的设计策略,就是尽可能的使组件的状态存储在平台组件中而不是存储在 SWT 组件中 ( 这句话,我不理解,也翻译的不明白,附原文: To achieve this, a basic design decision was made that as much widget state as possible would be stored in the platform widget rather than in the SWT widget.) 。这与 Swing 形成显著的对比, Swing 在 Swing 组件中维护了所有的组件状态。 ( 可能是这样: SWT 把各个组件的状态交给系统平台来管理,而 Swing 自己管理各个 Swing 组件的状态,这样 Swing 就复杂,耗费的资源,内存的需求也多,不知道是不是 J ) 。通过不把系统平台级别的组件信息复制过来自己维护, SWT 就非常的小巧而且对内存的需求也相应少。
达到这个目的所付出的代价就是 SWT 的组件不能够自己独立存在。当一个 SWT 组件被创建时,同时立即在系统平台下也创建了该组件的对应体。接下来,几乎所有对该组件的信息状态请求都会由平台来处理。
大部分的系统平台在创建一个组件时,需要该组件明确的父组件的上下文,所以 SWT 需要一个父组件来最为它的构造声明。许多平台在创建组件时还需要该组件的特定风格参数的设定。例如:按钮有复选框,单选框,简单按钮和文本域有单行和多行之分。
在 SWT 类中,风格位段用整数类型来定义且不会更改。风格参数被组织在一起,其它各种构造器传递着这些参数来创建一个组件的初始风格。注意到,所有的平台并不支持所有的风格,所以在很多情况下,被请求的风格被认为是一种提示,它或许会或许不会对一个特殊的平台产生影响。
当 SWT 组件不在需要时,一些平台要求作出明确的释放。对于组件本身和一些资源 ( 例如:图形,字体,颜色 ) 而言,他们已经具备了系统的这个要求。基本的规则是:如果你创建了一个组件,就要使用 dispose() 方法来撤销这个组件。如果你使用了一些系统资源,例如系统颜色,你就不需要释放他们。
幸运的,当一个组件被释放的,它的所有子组件会自动地被释放。这意味着,如果你释放了一个 shell ,那么所有 shell 包含的组件都会被自动释放。
- SWT组件的生命周期(续一个简单的SWT程序实例及详解)
- swt包下载,swt包引入(一个简单的SWT程序实例及详解)
- 一个简单的SWT程序实例及详解
- 一个简单的SWT程序实例及详解
- 一个简单的SWT程序实例及详解-Java基础-Java-编程开发
- swt 简单的托盘程序
- [Eclipse笔记]一个最简单的SWT程序
- 从一个简单的例子看UI多线程处理(基于eclipse的SWT组件)
- SWT的TitleAreaDialog详解
- 封装SWT组件的原则
- 一个Java的SWT菜单显示和递归调用的简单实例
- SWT线程实例程序
- SWT-Designer的一个Bug
- swt的系统资源及基本知识
- SWT部分组件的继承问题(引发错误:org.eclipse.swt.SWTException: Subclassing not allowed )
- 一个简单的SWT Text ip地址框
- 用 JFace和SWT 构建一个简单的应用程序
- 一个简单的SWT Text ip地址框
- 易用与安全并举 看Firefox2.0新亮点
- 设计模式简单代码之Decorator模式(小孩吃饭篇)
- 青藏铁路图片
- 一个简单的SWT程序实例及详解
- 网页javascript精华代码集
- SWT组件的生命周期(续一个简单的SWT程序实例及详解)
- 如何用量化数据来激励测试工程师?
- Rich Client Tutorial Part 1(翻译)
- 今晚有世界杯看,大家注意身体啊。
- 使用gdb调试程序简介
- 如同一日
- 刻录WindowsXPCD的问题
- 类 java.math.BigDecimal 总结
- Eclipse初体验