资源说明:NetBeans富客户端编程权威教程
目 录
第1章 NetBeans平台入门 1
1.1 配置IDE 1
1.2 NetBeans IDE基础 2
1.2.1 创建模块 2
1.2.2 创建应用程序 3
1.2.3 使用文件模板 4
1.2.4 声明依赖关系 4
1.2.5 运行模块 5
1.2.6 定制应用程序 5
1.2.7 发布应用程序 6
第2章 模块化编程的优势 7
2.1 分布式开发 7
2.2 模块化应用 8
2.2.1 版本 8
2.2.2 次级版本信息 9
2.2.3 依赖管理 9
2.3 模块化编程宣言 10
2.4 使用NetBeans进行模块化
编码 11
第3章 模块化的体系结构 15
3.1 模块—— 程序的装配单元 15
3.2 模块的类型 15
3.2.1 最终用户界面模块 16
3.2.2 简单程序库 16
3.2.3 多厂商支持 16
3.2.4 模块库 17
3.3 模块生命周期 18
3.4 模块群组 21
第4章 低耦合的交互 25
4.1 注册和查找 25
4.2 MetaInf服务 26
4.3 全局Lookup 27
4.4 编写扩展点 29
第5章 Lookup 33
5.1 拥有Lookup的对象 36
5.2 Lookup作为通信机制 37
5.3 Lookup和代理 40
5.4 Lookup和选择 42
5.5 编写Lookup敏感的操作 43
5.6 追踪全局选择 44
5.7 NetBeans API中遗留的Lookup
模式变种 45
5.8 常见的Lookup模式 45
第6章 Filesytems 47
6.1 FileSystems 和FileObjects 48
6.2 需要处理什么类型的
FileSystem 49
6.3 层次 49
6.4 XML文件系统 50
6.5 声明式注册二:系统文件
系统 51
6.5.1 “系统文件系统”是如何
工作的 51
6.5.2 “系统文件系统”是可
读写的 52
6.5.3 使用“系统文件系统”
的FileChangeEvents 53
6.5.4 探索系统文件
系统——菜单 54
6.6 从FileObject到Java对象 61
6.6.1 使用工厂方法从.instance
文件创建对象 62
6.6.2 通过代码访问“系统文件
系统” 64
6.6.3 使用.settings文件 66
6.7 浏览“系统文件系统” 66
6.8 小结 66
第7章 线程、侦听者模式和MIME
查找 71
7.1 创建模块和SPI 72
7.2 实现ListModelProvider 73
7.2.1 建立依赖 74
7.2.2 创建XmlListModelProvider 75
7.2.3 注册XmlListModelProvider 85
7.3 提供一个UI组件 86
7.3.1 MIME查找SPI和API 86
7.3.2 提供一个窗口组件显示列表
模型 87
7.4 使用Pseudo Navigator 92
7.5 小结:Pseudo Navigator——
这张图片有什么错误? 92
第8章 窗口系统 95
8.1 窗口系统的作用 96
8.2 “窗口系统API”中的类 97
8.3 使用TopComponent 99
8.4 在会话间持久化状态 101
8.5 窗口系统持久化数据 103
8.6 创建编辑器样式的
TopComponent(以非声明
的方式) 106
8.7 高级窗口系统配置:
自定义Mode 107
8.8 使用TopComponent群组 111
第9章 Node、Explorer视图、Action
和Presenter 115
9.1 Node API 116
9.2 Explorer API 125
9.2.1 explorer视图组件的类型 125
9.2.2 创建显示Node的
TopComponent 127
9.2.3 添加详细视图 129
9.2.4 使用Explorer API添加
另一个详细视图 131
9.3 Action 136
9.3.1 Presenter 137
9.3.2 Action API和NetBeans
标准操作 140
9.3.3 在菜单、工具栏和快捷键
中安装全局Action 140
9.3.4 上下文感知操作 141
9.4 Node属性 142
9.5 Node和DataObject:创建系统
文件系统浏览器 145
9.6 小结:节点、表单属性和用户
界面设计 147
第10章 DataObject和
DataLoader 149
10.1 DataObject来自哪里? 151
10.2 添加对新文件类型的支持 152
10.2.1 为NetBeans添加对
ManiFest文件的支持 152
10.2.2 由manifest文件提供
Manifest对象 157
10.2.3 由ManifestDataObject和
ManifestDataNode提供
ManifestProvider 157
10.2.4 图标徽章 160
10.2.5 用JUnit测试
ManifestDataObject 164
10.3 在内部使用自定义的文件
类型 170
10.4 序列化对象和系统文件
系统 170
第11章 图形用户界面 173
11.1 介绍 173
11.2 新建GUI窗体 175
11.3 在窗体中放置和排列组件 175
11.4 设置组件的大小和大小
可调性 176
11.5 设定组件的行为和外观 177
11.6 生成事件侦听和处理方法 178
11.7 定制生成的代码 180
11.8 用可视化的方法构建浏览器
视图 181
11.9 预览窗体 182
11.10 在窗体编辑器中使用
自定义的Bean 182
11.11 使用不同的布局管理器 183
第12章 多视图编辑器 185
12.1 介绍 185
12.2 入门 186
12.3 理解多视图编辑器 187
12.4 创建编辑器的基础构架 187
12.5 创建源视图 191
12.5.1 描述源
MultiViewElement 191
12.5.2 创建源编辑器 192
12.5.3 在多视图编辑器中加入
源视图 195
12.6 创建可视化视图 197
12.7 完成示例 199
第13章 语法高亮显示 201
13.1 介绍 201
13.2 准备创建语法高亮支持 202
13.3 创建Token ID 203
13.4 创建词法分析器 204
13.5 扩展选项窗口 207
13.6 扩展选项窗口 210
13.7 完成 212
第14章 完成代码 213
14.1 介绍 213
14.2 理解代码完成 215
14.3 代码完成提示类型 215
14.4 准备使用CompletionProvider
接口 216
14.5 实现CompletionProvider 217
14.6 实现CompletionItem 219
14.7 为CompletionProvider添加
过滤器 222
14.8 为“代码完成提示框”
加入文档 225
14.9 为“代码完成提示框”
加入工具提示 227
第15章 组件面板 229
15.1 介绍 229
15.1.1 理解组件面板 230
15.1.2 创建第一个组件面板 232
15.2 向组件面板中添加元素 234
15.2.1 为第一个组件面板
添加元素 234
15.2.2 让用户向组件面板中
添加元素 239
15.3 拖放组件元素 241
15.3.1 定义放置目标 242
15.3.2 定义拖拽图像 243
15.3.3 定义放置事件 245
15.3.4 定义拖拽动作 246
15.4 将支持特性添加到组件
面板中 247
15.4.1 为面板添加操作 248
15.4.2 添加过滤器并刷新面板 250
15.4.3 添加属性改变侦听器 252
15.4.4 设置面板属性 253
15.4.5 提供组件面板管理器 255
15.5 为文本编辑器创建组件
面板 256
15.5.1 将组件面板与文本
编辑器关联 257
15.5.2 在文本编辑器的组件
面板中添加元素 259
15.5.3 在文本编辑器中格式化
被放置的元素 261
15.5.4 让用户在文本编辑器的
组件面板中添加元素 262
第16章 超链接 265
16.1 介绍 265
16.1.1 准备提供超链接 265
16.1.2 HyperlinkProvider类 266
16.1.3 快速开始 266
16.2 使用HyperlinkProvider类的
准备工作 266
16.3 manifest文件中的超链接 267
16.3.1 识别超链接 268
16.3.2 设置超链接的长度 269
16.3.3 打开引用的文档 270
16.3.4 完成 272
第17章 标注 273
17.1 介绍 273
17.2 准备创建错误标注 274
17.3 创建错误标注 274
17.3.1 理解错误标注DTD 275
17.3.2 注册错误标注 278
17.3.3 安装错误标注 279
17.4 准备使用错误标注 279
17.5 使用错误标注 280
17.5.1 描述标注 280
17.5.2 挂载和分离标注 281
17.5.3 定义请求处理任务 283
17.5.4 标注某行的一部分 284
17.6 完成 284
第18章 选项窗口 287
18.1 介绍 287
18.2 查看“选项”窗口
扩展文件 290
18.2.1 AdvancedOption类 290
18.2.2 OptionsPanelController
类 290
18.2.3 可视化选项面板 292
18.3 创建主面板 293
18.3.1 第一个主面板 293
18.3.2 重新排序选项面板 295
18.4 向“选项”窗口中添加
设置 295
第19章 Web框架 299
19.1 介绍 299
19.1.1 支持Web框架的准备
工作 300
19.1.2 WebFrameworkProvider
类 300
19.1.3 快速开始 300
19.1.4 示例:简单注册 301
19.2 准备使用
WebFrameworkProvider类 302
19.3 为框架提供配置面板 303
19.3.1 创建配置面板 304
19.3.2 示例:在WebFramework
Provider实现中添加
配置面板 306
19.3.3 编写配置面板 307
19.4 创建源代码结构 309
19.4.1 准备使用extend()方法 309
19.4.2 示例:定义extend()
方法 309
19.4.3 创建模板 311
19.4.4 创建Java文件的模板 311
19.4.5 准备:利用模板在程序中
创建Java文件 312
19.4.6 利用模板在程序中创建
Java文件 313
19.4.7 尝试使用框架支持
模块 315
19.5 让用户在“框架”面板中
选择库 316
19.6 “项目属性”对话框和Web
框架 318
19.7 完成 319
第20章 Web服务 321
20.1 介绍 321
20.2 创建和测试Web服务
客户端 321
20.3 集成Web服务客户端 326
第21章 JavaHelp文档 331
21.1 创建帮助集 331
21.2 删除IDE的帮助集 334
21.3 标记帮助集的默认文字 337
第22章 更新中心 341
22.1 介绍 341
22.2 添加IDE的更新中心功能 342
22.3 创建和分发自动更新
描述符 343
22.3.1 用IDE创建自动更新
描述符 343
22.3.2 上传自动更新描述符和
NBM文件 344
22.4 分发自动更新描述符
的URL 345
22.4.1 生成一个注册自动
更新描述符的模块 345
22.4.2 让用户手动注册自动
更新描述符 345
22.5 从更新中心下载NBM
文件 346
22.6 将更新发布到现有模块 347
第23章 用例1:跟Jens Trapp学习
NetBeans模块开发 349
23.1 介绍 349
23.2 调用外部工具 350
23.2.1 创建Tidy错误
检测操作 350
23.2.2 获取文件名 352
23.2.3 运行HTML Tidy 353
23.2.4 解决依赖 356
23.2.5 运行示例 356
23.3 处理输出 358
23.3.1 打印输出 359
23.3.2 侦听输出 361
23.3.3 解析输出 363
23.3.4 在“源代码编辑器”中
标注错误 365
23.4 配置工具 371
23.4.1 扩展“选项”窗口 371
23.4.2 持久化选项 373
23.5 格式化和转换文件 375
23.5.1 操作文件 376
23.5.2 查看区别 382
23.6 控制转换 383
23.6.1 创建向导 383
23.6.2 连接向导 393
第24章 用例2:Rich Unger应用程序
开发 395
24.1 介绍 395
24.2 开始 396
24.3 创建audio/wav的 MIME
类型支持 398
24.4 在WavDataObject中封装
音频数据 401
24.5 创建查看WAV文件的
组件 404
24.6 将WAV编辑器转变为
多视图编辑器 406
24.7 创建插入额外视图的API 412
24.8 实现API,提供新视图 415
附录A 高级模块系统开发技术 421
附录B NetBeans中的常见习惯和
代码模式 435
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。