第1篇 基础篇 3
第1章 Eclipse概述 3
1.1 引言 3
1.2 Eclipse架构 3
1.3 Eclipse工作台 5
1.4 本章小结 8
第2章 安装与配置 9
2.1 JDK下载与安装配置 9
2.1.1 JDK下载 9
2.1.2 JDK安装 10
2.1.3 设置环境变量 11
2.2 Eclipse下载与安装 12
2.2.1 Eclipse及多国语言包下载 12
2.2.2 Eclipse及多国语言包安装 13
2.3 SWT Designer下载及安装 16
2.3.1 SWT Designer下载 16
2.3.2 SWT Designer安装 16
2.3.3 SWT Designer注册激活 17
2.4 本章小结 19
第3章 SWT/JFace开发过程 20
3.1 SWT概述 20
3.1.1 SWT类库包 21
3.1.2 窗口小部件(Widget) 21
3.2 第一个SWT程序 22
3.2.1 创建SWT/JFace项目 22
3.2.2 创建SWT类文件 24
3.2.3 用SWT Designer创建窗口 26
3.2.4 运行SWT程序 28
3.3 本章小结 28
第2篇 SWT组件篇 31
第4章 几种常用的SWT组件和容器 31
4.1 标签(Label类) 31
4.1.1 定义标签 31
4.1.2 标签实例 32
4.1.3 标签常用的API 33
4.2 按钮(Button类) 34
4.2.1 定义按钮 34
4.2.2 按钮实例 35
4.2.3 按钮常用的API 36
4.3 文本框(Text类) 37
4.3.1 定义文本框 37
4.3.2 文本框实例 37
4.3.3 文本框常用的API 40
4.4 微调控制(Spinner类) 41
4.4.1 定义微调控制 41
4.4.2 微调控制实例 41
4.4.3 微调控制常用的API 42
4.5 下拉框(Combo类) 43
4.5.1 定义下拉框 43
4.5.2 下拉框实例 43
4.5.3 下拉框常用的API 45
4.6 列表框(List类) 46
4.6.1 定义列表框 46
4.6.2 列表框实例 46
4.6.3 列表框常用的API 48
4.7 分组框(Group类) 49
4.7.1 定义分组框 49
4.7.2 分组框实例 49
4.7.3 分组框常用的API 51
4.8 面板(Composite) 51
4.8.1 定义面板 51
4.8.2 面板实例 52
4.8.3 面板常用的API 53
4.9 滚动面板(ScrolledComposite) 54
4.9.1 定义滚动面板 54
4.9.2 滚动面板实例 54
4.9.3 滚动面板常用的API 55
4.10 ViewForm容器 56
4.10.1 定义ViewForm 56
4.10.2 ViewForm实例 56
4.10.3 ViewForm常用的API 57
4.11 本章小结 59
第5章 窗口小部件事件 60
5.1 基本事件机制 60
5.1.1 监听器 60
5.1.2 适配器 61
5.2 无类型事件机制 63
5.2.1 无类型监听器概述 63
5.2.2 无类型监听器的使用 64
5.3 键盘和鼠标事件 65
5.3.1 键盘事件 65
5.3.2 鼠标事件 69
5.4 本章小结 71
第6章 SWT的对话框 72
6.1 Shell类 72
6.1.1 Shell窗体 72
6.1.2 Shell对话框构造实例 73
6.1.3 Shell常用的API 75
6.2 MessageBox控件 75
6.2.1 MessageBox定义方法 75
6.2.2 MessageBox对话框实例 76
6.2.3 MessageBox常用API 77
6.3 文件选择对话框 78
6.3.1 文件选择对话框构造方法 78
6.3.2 文件选择对话框构造实例 78
6.3.3 FileDialog常用的API 83
6.4 字体选择对话框 84
6.4.1 字体选择对话框构造方法 84
6.4.2 字体选择对话框实例 84
6.4.3 FontDialog常用的API 86
6.5 颜色选择对话框 87
6.5.1 颜色选择对话框构造方法 87
6.5.2 颜色选择对话框构造实例 87
6.5.3 ColorDialog常用的API 89
6.6 打印设置对话框 89
6.6.1 打印设置对话框构造方法 89
6.6.2 打印设置对话框构造实例 90
6.6.3 PrintDialog常用的API 91
6.7 目录选择对话框 91
6.7.1 目录选择对话框构造方法 91
6.7.2 目录选择对话框构造实例 91
6.7.3 DirectoryDialog常用的API 93
6.8 本章小结 93
第7章 布局管理器 94
7.1 充满式布局(FillLayout) 94
7.1.1 FillLayout用法 94
7.1.2 FillLayout布局方式 95
7.2 网格式布局(GridLayout) 98
7.2.1 网格布局用法 98
7.2.2 用GridData控制布局 101
7.3 行布局(RowLayout) 107
7.3.1 RowLayout用法 108
7.3.2 用RowData控制布局 111
7.4 表格式布局(FormLayout) 112
7.4.1 FormLayout用法 113
7.4.2 FormData用法 114
7.4.3 FormAttachment控制布局 115
7.5 堆栈式布局(StackLayout) 120
7.5.1 StackLayout用法 120
7.5.2 StackLayout实例 120
7.6 一个类似Google Talk设置对话框的综合布局 122
7.7 本章小结 130
第8章 SWT的复杂组件 131
8.1 刻度条(Scale类) 131
8.1.1 定义刻度条 131
8.1.2 刻度条实例 132
8.1.3 Scale常用的API 134
8.2 滑动条(Slider类) 134
8.2.1 定义滑动条 134
8.2.2 滑动条实例 135
8.2.3 Slider常用的API 136
8.3 进度条(ProgressBar类) 136
8.3.1 定义进度条 137
8.3.2 进度条实例 138
8.3.3 ProgressBar常用的API 139
8.4 扩展栏(ExpandBar类、ExpandItem类) 139
8.4.1 定义扩展栏 140
8.4.2 扩展栏实例 140
8.4.3 ExpandBar、ExpandItem常用的API 142
8.5 选项卡(TabFolder类、TabItem类) 143
8.5.1 定义选项卡 143
8.5.2 选项卡实例 144
8.5.3 TabFolder、TabItem常用的API 145
8.6 自定义选项卡(CTabFolder类、CTabItem类) 146
8.6.1 定义自定义选项卡 146
8.6.2 自定义选项卡实例 146
8.6.3 CTabFolder、CTabItem常用的API 149
8.7 分割框格(Sash类) 150
8.7.1 定义分割框格 150
8.7.2 分割框格实例 151
8.7.3 Sash常用的API 153
8.8 分割窗(SashForm类) 153
8.8.1 定义分割窗 153
8.8.2 分割窗实例 154
8.8.3 SashForm常用的API 156
8.9 画布(Canvas类) 156
8.9.1 定义画布 156
8.9.2 画布实例 157
8.9.3 Canvas常用API 160
8.10 菜单(Menu类、MenuItem类) 161
8.10.1 定义菜单 161
8.10.2 菜单的构造实例 162
8.10.3 Menu、MenuItem常用的API 164
8.11 工具栏(ToolBar类、ToolItem类) 165
8.11.1 定义工具栏 166
8.11.2 工具栏使用实例 167
8.11.3 ToolBar、ToolItem常用的API 173
8.12 动态工具栏(CoolBar类、CoolItem类) 173
8.12.1 定义动态工具栏 174
8.12.2 动态工具栏使用实例 174
8.12.3 CoolBar、CoolItem常用的API 176
8.13 表(Table类、TableItem类、TableColumn类) 177
8.13.1 定义表 177
8.13.2 表格实例 179
8.13.3 Table、TableItem、TableColumn常用的API 187
8.14 树(Tree类) 188
8.14.1 定义树 188
8.14.2 树的使用实例 189
8.14.3 Tree、TreeItem常用的API 193
8.15 表格树(TableTree类、TableTreeItem类) 194
8.15.1 定义表格树 194
8.15.2 表格树实例 195
8.15.3 TableTree、TableTreeItem常用API 196
8.16 本章小结 197
第9章 其他组件类用法 198
9.1 浏览器部件(Browser类) 198
9.1.1 定义浏览器 198
9.1.2 浏览器部件使用实例 198
9.1.3 Browser常用的API 201
9.2 链接控件(Link类) 202
9.2.1 定义链接控件 202
9.2.2 链接控件使用实例 202
9.2.3 Link常用的API 203
9.3 Tracker控件 203
9.3.1 定义移动控件 203
9.3.2 移动控件使用实例 204
9.3.3 Tracker常用的API 205
9.4 剪贴板(Clipboard类) 205
9.4.1 定义剪贴板 205
9.4.2 剪贴板使用实例 206
9.4.3 Clipboard常用的API 209
9.5 拖放(DragSource类、DropTarget类) 209
9.5.1 DragSource类、DropTarget类定义方法 209
9.5.2 拖放控件使用实例 211
9.5.3 DragSource、DragTarget常用的API 212
9.6 图形上下文(GC类) 213
9.6.1 定义GC 213
9.6.2 GC的使用实例 214
9.6.3 GC常用的API 217
9.7 颜色(Color类) 217
9.7.1 定义颜色 217
9.7.2 颜色类使用实例 218
9.7.3 Color常用的API 219
9.8 字体(Font类) 219
9.8.1 定义字体 219
9.8.2 字体的使用实例 220
9.8.3 Font、FontData常用的API 223
9.9 图像(Image类) 223
9.9.1 定义图像 223
9.9.2 图像使用实例 224
9.9.3 Image常用的API 225
9.10 文本风格(StyledText类) 225
9.10.1 定义文本风格 225
9.10.2 文本风格使用实例 226
9.10.3 StyleText常用的API 227
9.11 系统托盘(Tray类、TrayItem类) 228
9.11.1 定义系统托盘 228
9.11.2 系统托盘使用实例 228
9.11.3 Tray、TrayItem常用的API 230
9.12 鼠标游标(Cursor类) 231
9.12.1 定义鼠标游标 231
9.12.2 鼠标游标实例 232
9.12.3 Cursor常用的API 232
9.13 本章小结 232
第3篇 SWT增强组件库(JFace)篇 235
第10章 JFace的独立使用 235
10.1 JFace窗体 235
10.1.1 定义JFace窗体 235
10.1.2 构造JFace窗体实例 236
10.2 动作(Action类) 238
10.2.1 Action的定义 238
10.2.2 Action应用实例 239
10.3 JFace窗体添加菜单、工具栏 241
10.3.1 定义菜单、工具栏 241
10.3.2 菜单、工具栏实例 241
10.4 本章小结 248
第11章 JFace对话框 249
11.1 信息提示对话框(MessageDialog类) 249
11.1.1 信息提示对话框构造方法 249
11.1.2 信息提示对话框样式实例 252
11.2 错误信息对话框(ErrorDialog类) 254
11.2.1 错误信息对话框构造方法 254
11.2.2 错误信息对话框样式实例 256
11.3 输入值对话框(InputDialog类) 258
11.3.1 输入对话框构造方法 258
11.3.2 输入对话框构造实例 258
11.4 进度条对话框(ProgressMonitorDialog类) 260
11.4.1 进度条对话框构造方法 260
11.4.2 进度条对话框构造实例 260
11.5 标题区域对话框(TitleAreaDialog类) 262
11.5.1 标题区域对话框构造方法 262
11.5.2 标题区域对话框构造实例 263
11.6 自定义对话框(Custom Dialog) 266
11.6.1 自定义对话框概述 266
11.6.2 自定义对话框构造实例 266
11.7 向导对话框(WizardDialog类) 268
11.7.1 向导对话框概述 268
11.7.2 向导对话框构造实例 268
11.8 首选项对话框(PreferenceDialog类) 274
11.8.1 首选项对话框概述 274
11.8.2 首选项对话框构造实例 275
11.9 本章小结 280
第12章 JFace查看器(Viewer类) 281
12.1 TextViewer类、SourceViewer类 282
12.1.1 TextViewer、SourceViewer类简介 282
12.1.2 TextViewer、SourceViewer实例 282
12.1.3 TextViewer、SourceViewer常用的API 286
12.2 TableViewer类 287
12.2.1 TableViewer简介 287
12.2.2 TableViewer实例 287
12.2.3 TableViewer常用的API 309
12.3 ListViewer类 310
12.3.1 ListViewer简介 310
12.3.2 ListViewer实例 310
12.3.3 ListViewer常用的API 318
12.4 TreeViewer类 318
12.4.1 TreeViewer类简介 318
12.4.2 TreeViewer实例 319
12.4.3 TreeViewer常用的API 322
12.5 本章小结 322
第4篇 综合实例篇 325
第13章 综合实例 325
13.1 浏览器模型综合实例 325
13.2 文本编辑器模型综合实例 330
13.3 SWT/JFace与数据库综合编程实例 342
13.3.1 Microsoft SQL Server 2000的安装 342
13.3.2 建立数据库和表结构 345
13.3.3 ODBC数据源 348
13.3.4 实例的具体实施过程 349
13.4 本章小结 365
附录A SWT常用组件样式效果列表 366
附录B SWT事件、监听器、监听方法 371