SWT的类库结构

http://hi.baidu.com/shiytower/blog/item/4176add7289b61d9a044df68.html


SWT的所有类都在org.eclipse.swt包下。最重要的类就是Widget,它是所有界面对象的基类,类图如图3.1所示。

Widget的直接子类有Caret(插入光标)、Menu(菜单)、ScrollBar(滚动条)、Tray(系统托盘图标)等。Widget的子类Item下的类是一些无法独立于其他部件的部件,比如MenuItem(菜单项)、TableItem(表格项)、TrayItem(系统托盘图标项)、TreeItem(树项)等。Widget的子类Control是一个比较庞大的基类,大部分SWT部件都在此类下,其直接子类有Button(按钮)、Label(标记)、ProgressBar(进度条)等。Control的子类Scrollable是所有可以带滚动条的对象的基类,比如Text(文本框)、List(列表框)等。Scrollable的子类Composite是SWT中一个重要的类,它是所有可以容纳其他部件的类的基类,其子类有Browser(浏览器)、Combo(下拉列表框)、Group(组合框)、Table(表格)、Tree(树)等。


图3.1 SWT的类结构图


上面从类层次的角度研究了SWT的类结构,下面再来看一下SWT的包结构:

l   org.eclipse.swt下有SWT,SWTException和SWTError类。SWT中定义了SWT中的公共常量,包括部件风格、消息常量等;SWTException和SWTError则是SWT中异常的基类。

l   org.eclipse.swt.widgets包下定义了常用、核心SWT窗口小部件(widget)的公有API类定义。如Display、Shell、Button、Menu等。一般编写GUI程序用到的Widget大部分都在这个包下。

l   org.eclipse.swt.events包中提供了对SWT事件监视器(Event Listener)的支持,如Button的SelectionListener、Mouse的MouseListener、MouseMoveListener和MouseTrackListener等,还有与这些Listener对应的Adapter实现类和 Event类。

l   org.eclipse.swt.layout包中定义了SWT的布局管理器,其中有FillLayout、GridLayout和RowLayout三种。

l   org.eclipse.swt.graphics包中包含了SWT中graphic类,如Color、Font和Image等,这个包下的类的资源管理方式和其他部件略有不同,3.1.2节中将会介绍。

l   org.eclipse.swt.printer提供了对打印的支持。

l   org.eclipse.swt.custom包中包含了一些可自定义的窗口小部件,它们是学习开发自定义SWT部件的很好的例子。

l   org.eclipse.swt.dnd提供了对拖放操作的支持。

你可能感兴趣的:(eclipse,html,.net,浏览器,Blog)