徐彬《GWT揭秘》

徐彬《GWT揭秘》

作者:徐彬

出版社:机械工业出版社

出版年:2010-1

评分:6.3

ISBN:9787111294016

所属分类:网络科技

书刊介绍

内容简介

国内第一本基于 GWT 2.0 的经典著作,4 大专业社区联袂推荐,权威性毋庸置疑!

本书内容全面,不仅详细介绍了 GWT 的主要模块和控件、GWT 与 JavaScript 对象的交互、在 GWT 中使用 XML、开发自定义 GWT 控件、GWT-RPC 和 Ext GWT 等必备的基础知识,而且还深入讲解了 GWT 与 Flex整合、图片缓存、本地化、GWT 动画、历史管理、延时/等待/分片执行等高级知识;本书注重实战,所有知识点都配有精心设计的范例,尤为值得一提的是,还以迭代的方式重现了经典的俄罗斯方块游戏和一个完整的报销审批系统的开发全过程,既可以以它们为范例进行实战演练,又可以将它们直接应用到实际开发中去。

作品目录

前 言

第一部分 准备篇

第 1 章 准备开发环境••••••••••••••••••••••••••2

1.1 安装 JDK ••••••••••••••••••••••••••••••••••••••••••••2

1.2 安装 Eclipse••••••••••••••••••••••••••••••••••••••••2

1.3 安装 GWT 1.7 的 Eclipse 插件 ••••••••••3

1.4 安装 GWT 2.0 的 SDK 以及

Eclipse 插件••••••••••••••••••••••••••••••••••••••••4

1.5 辅助工具 ••••••••••••••••••••••••••••••••••••••••••••5

1.5.1 Internet Explorer Developer

Toolbar •••••••••••••••••••••••••••••••••••••••••5

1.5.2 Firebug•••••••••••••••••••••••••••••••••••••••••6

1.6 小结••••••••••••••••••••••••••••••••••••••••••••••••••••7

第 2 章 Hello GWT•••••••••••••••••••••••••••••••8

2.1 在 Eclipse 中创建项目•••••••••••••••••••••••8

2.2 运行调试项目 ••••••••••••••••••••••••••••••••••10

2.3 JUnit 测试•••••••••••••••••••••••••••••••••••••••••14

2.4 发布网站 ••••••••••••••••••••••••••••••••••••••••••16

2.5 ANT 发布•••••••••••••••••••••••••••••••••••••••••16

2.6 小结••••••••••••••••••••••••••••••••••••••••••••••••••17

第二部分 基础篇

第 3 章 GWT 模块 ••••••••••••••••••••••••••••••20

3.1 GWT 模块详解 ••••••••••••••••••••••••••••••••20

3.2 模块入口点•••••••••••••••••••••••••••••••••••••• 22

3.3 模块继承•••••••••••••••••••••••••••••••••••••••••• 22

3.4 附加 CSS 和 JavaScript•••••••••••••••••••• 23

3.5 路径配置•••••••••••••••••••••••••••••••••••••••••• 25

3.6 延迟绑定•••••••••••••••••••••••••••••••••••••••••• 29

3.7 发布 JAR•••••••••••••••••••••••••••••••••••••••••• 33

3.8 深入研究•••••••••••••••••••••••••••••••••••••••••• 34

3.9 小结 ••••••••••••••••••••••••••••••••••••••••••••••••• 37

第 4 章 JSNI ••••••••••••••••••••••••••••••••••••••••• 38

4.1 JSNI 和 JavaScript ••••••••••••••••••••••••••• 38

4.2 类型映射•••••••••••••••••••••••••••••••••••••••••• 39

4.3 JavaScriptObject••••••••••••••••••••••••••••••• 40

4.4 JsArray ••••••••••••••••••••••••••••••••••••••••••••• 42

4.5 JSNI 中的特殊变量••••••••••••••••••••••••• 42

4.6 在 JSNI 中访问 GWT 函数••••••••••••• 46

4.7 异常处理•••••••••••••••••••••••••••••••••••••••••• 49

4.8 外部 JavaScript 访问 GWT函数•••••••• 50

4.9 整合 jQuery•••••••••••••••••••••••••••••••••••••• 51

4.10 在 GWT 中使用正则

表达式 ••••••••••••••••••••••••••••••••••••••••••• 57

4.11 小结•••••••••••••••••••••••••••••••••••••••••••••••• 60

第 5 章 在 GWT 中使用 XML •••••••• 61

5.1 XML 简介•••••••••••••••••••••••••••••••••••••••• 61

5.2 XML 操作•••••••••••••••••••••••••••••••••••••••• 62

5.2.1 XML 文档••••••••••••••••••••••••••••••••• 62

5.2.2 XML 节点 •••••••••••••••••••••••••••••••••64

5.2.3 XML 元素节点••••••••••••••••••••••••••67

5.2.4 XML 文本节点••••••••••••••••••••••••••68

5.3 在 GWT 中使用 XPath•••••••••••••••••••••68

5.4 小结••••••••••••••••••••••••••••••••••••••••••••••••••76

第 6 章 GWT 控件详解•••••••••••••••••••••77

6.1 界面对象 ••••••••••••••••••••••••••••••••••••••••••77

6.2 Widget•••••••••••••••••••••••••••••••••••••••••••••••82

6.3 面板••••••••••••••••••••••••••••••••••••••••••••••••••83

6.4 控件生命周期 ••••••••••••••••••••••••••••••••••85

6.5 控件事件管理 ••••••••••••••••••••••••••••••••••87

6.5.1 注册控件事件处理句柄••••••••••••87

6.5.2 阻止控件默认行为••••••••••••••••••••88

6.5.3 阻止事件冒泡 •••••••••••••••••••••••••••89

6.5.4 onBrowserEvent•••••••••••••••••••••••••90

6.6 GWT 全局类 ••••••••••••••••••••••••••••••••••••91

6.6.1 DOM 类•••••••••••••••••••••••••••••••••••••91

6.6.2 GWT 类•••••••••••••••••••••••••••••••••••••92

6.6.3 Window 类•••••••••••••••••••••••••••••••••94

6.7 小结••••••••••••••••••••••••••••••••••••••••••••••••••97

第 7 章 使用 GWT 控件••••••••••••••••••••98

7.1 简单控件 ••••••••••••••••••••••••••••••••••••••••••98

7.1.1 包装已有控件 •••••••••••••••••••••••••••98

7.1.2 图片超链接 •••••••••••••••••••••••••••••••99

7.1.3 图片按钮•••••••••••••••••••••••••••••••••••99

7.1.4 复选框•••••••••••••••••••••••••••••••••••••••99

7.1.5 单选框•••••••••••••••••••••••••••••••••••••100

7.1.6 文件上传•••••••••••••••••••••••••••••••••101

7.1.7 DatePicker••••••••••••••••••••••••••••••••103

7.2 列表和菜单 ••••••••••••••••••••••••••••••••••••104

7.2.1 列表•••••••••••••••••••••••••••••••••••••••••104

7.2.2 带建议的输入框••••••••••••••••••••••105

7.2.3 树•••••••••••••••••••••••••••••••••••••••••••••105

7.2.4 菜单 •••••••••••••••••••••••••••••••••••••••• 107

7.3 面板 ••••••••••••••••••••••••••••••••••••••••••••••• 108

7.3.1 装饰面板••••••••••••••••••••••••••••••••• 108

7.3.2 流式布局面板••••••••••••••••••••••••• 108

7.3.3 水平布局面板和垂直布局

面板••••••••••••••••••••••••••••••••••••••••• 109

7.3.4 绝对布局面板••••••••••••••••••••••••• 109

7.3.5 Tab 面板•••••••••••••••••••••••••••••••••• 109

7.3.6 滚动面板••••••••••••••••••••••••••••••••• 110

7.4 表格 ••••••••••••••••••••••••••••••••••••••••••••••• 111

7.4.1 简单表格••••••••••••••••••••••••••••••••• 111

7.4.2 复杂表格••••••••••••••••••••••••••••••••• 111

7.5 使用与自定义 GWT 控件••••••••••••• 112

7.5.1 ComboInput 控件结构•••••••••••• 112

7.5.2 DataItem•••••••••••••••••••••••••••••••••• 113

7.5.3 ListBox•••••••••••••••••••••••••••••••••••• 114

7.5.4 Selected 事件 •••••••••••••••••••••••••• 117

7.5.5 TriggerInput••••••••••••••••••••••••••••• 120

7.5.6 ComboBox•••••••••••••••••••••••••••••• 122

7.6 小结 ••••••••••••••••••••••••••••••••••••••••••••••• 125

第 8 章 GWT-RPC ••••••••••••••••••••••••••• 126

8.1 GWT 中的XMLHTTPRequest••••••••• 126

8.1.1 HTTPRequestImpl••••••••••••••••••• 126

8.1.2 RequestBuilder •••••••••••••••••••••••• 127

8.1.3 请求动态数据••••••••••••••••••••••••• 129

8.1.4 XML•••••••••••••••••••••••••••••••••••••••• 132

8.2 JSON•••••••••••••••••••••••••••••••••••••••••••••• 134

8.2.1 JSONValue•••••••••••••••••••••••••••••• 134

8.2.2 JSONValue 的派生类 ••••••••••••• 135

8.2.3 完整的 JSON 例子 ••••••••••••••••• 136

8.3 GWT-RPC •••••••••••••••••••••••••••••••••••••• 138

8.3.1 RPC 远程接口 •••••••••••••••••••••••• 138

8.3.2 服务器实现••••••••••••••••••••••••••••• 139

8.3.3 异步接口文件••••••••••••••••••••••••• 140

8.3.4 在程序中使用GWT-RPC •••••••••140

8.3.5 整合 Hibernate•••••••••••••••••••••••••141

8.4 小结••••••••••••••••••••••••••••••••••••••••••••••••145

第 9 章 Ext GWT•••••••••••••••••••••••••••••••146

9.1 Ext GWT 简介及安装••••••••••••••••••••146

9.2 Window•••••••••••••••••••••••••••••••••••••••••••148

9.2.1 窗口布局•••••••••••••••••••••••••••••••••149

9.2.2 Viewport ••••••••••••••••••••••••••••••••••151

9.2.3 Dialog ••••••••••••••••••••••••••••••••••••••152

9.2.4 窗口的显示与关闭••••••••••••••••••153

9.3 数据管理 ••••••••••••••••••••••••••••••••••••••••154

9.4 Grid•••••••••••••••••••••••••••••••••••••••••••••••••157

9.5 树控件••••••••••••••••••••••••••••••••••••••••••••159

9.5.1 图标显示•••••••••••••••••••••••••••••••••160

9.5.2 节点选择事件 •••••••••••••••••••••••••160

9.6 皮肤••••••••••••••••••••••••••••••••••••••••••••••••161

9.7 小结••••••••••••••••••••••••••••••••••••••••••••••••162

第三部分 实战篇

第 10 章 俄罗斯方块游戏 ••••••••••••••164

10.1 游戏设计 ••••••••••••••••••••••••••••••••••••••164

10.1.1 游戏简介 •••••••••••••••••••••••••••••••164

10.1.2 游戏规则 •••••••••••••••••••••••••••••••165

10.1.3 设计思路 •••••••••••••••••••••••••••••••166

10.2 编码实现 ••••••••••••••••••••••••••••••••••••••167

10.2.1 游戏场地 •••••••••••••••••••••••••••••••167

10.2.2 方块•••••••••••••••••••••••••••••••••••••••170

10.2.3 游戏控制器 •••••••••••••••••••••••••••177

10.3 界面实现及操作完善•••••••••••••••••••187

10.3.1 候选面板•••••••••••••••••••••••••••••••••187

10.3.2 计分与等级 •••••••••••••••••••••••••••189

10.3.3 增加操作便利性••••••••••••••••••••191

10.3.4 界面美化 •••••••••••••••••••••••••••••••192

10.4 联机对战•••••••••••••••••••••••••••••••••••••• 193

10.4.1 原理 •••••••••••••••••••••••••••••••••••••• 193

10.4.2 等待游戏开始••••••••••••••••••••••• 194

10.4.3 交换数据••••••••••••••••••••••••••••••• 198

10.4.4 胜负判定••••••••••••••••••••••••••••••• 204

10.4.5 障碍行••••••••••••••••••••••••••••••••••• 206

10.5 小结•••••••••••••••••••••••••••••••••••••••••••••• 209

第 11 章 费用申请审批流程 ••••••••• 210

11.1 流程设计•••••••••••••••••••••••••••••••••••••• 210

11.1.1 流程简介••••••••••••••••••••••••••••••• 210

11.1.2 工作流引擎••••••••••••••••••••••••••• 210

11.1.3 表单••••••••••••••••••••••••••••••••••••••• 211

11.2 工作流引擎实现 •••••••••••••••••••••••••• 211

11.2.1 环境配置••••••••••••••••••••••••••••••• 211

11.2.2 业务规则定义••••••••••••••••••••••• 214

11.2.3 jBPM 数据库初始化••••••••••••• 218

11.3 表单实现•••••••••••••••••••••••••••••••••••••• 220

11.3.1 HTML 面板••••••••••••••••••••••••••• 220

11.3.2 表单对话框••••••••••••••••••••••••••• 225

11.3.3 权限控制••••••••••••••••••••••••••••••• 228

11.3.4 类型校验••••••••••••••••••••••••••••••• 232

11.4 审批流程的界面实现 •••••••••••••••••• 233

11.4.1 AsyncCallbackEx •••••••••••••••••• 233

11.4.2 Outlook 面板••••••••••••••••••••••••• 234

11.4.3 工作列表••••••••••••••••••••••••••••••• 236

11.4.4 整体布局••••••••••••••••••••••••••••••• 241

11.4.5 用户登录••••••••••••••••••••••••••••••• 244

11.4.6 全局事件管理••••••••••••••••••••••• 247

11.4.7 遮蔽效果••••••••••••••••••••••••••••••• 249

11.4.8 实现 BizzAction•••••••••••••••••••• 250

11.5 业务流转•••••••••••••••••••••••••••••••••••••• 254

11.5.1 申请表••••••••••••••••••••••••••••••••••• 254

11.5.2 审批表••••••••••••••••••••••••••••••••••• 257

11.6 小结•••••••••••••••••••••••••••••••••••••••••••••• 261

第四部分 高级篇

第 12 章 GWT 与 Flex 整合•••••••••••264

12.1 Flex 的优势 ••••••••••••••••••••••••••••••••••264

12.2 查看流程图的 Flex•••••••••••••••••••••••265

12.3 加入网页 ••••••••••••••••••••••••••••••••••••••275

12.4 与 Flex 交互 •••••••••••••••••••••••••••••••••278

12.5 小结••••••••••••••••••••••••••••••••••••••••••••••283

第 13 章 图片缓存 ••••••••••••••••••••••••••••284

13.1 CSS Sprite 简介••••••••••••••••••••••••••••284

13.2 GWT 的实现 ••••••••••••••••••••••••••••••••286

13.3 后端生成了什么•••••••••••••••••••••••••••288

13.4 小结••••••••••••••••••••••••••••••••••••••••••••••288

第 14 章 本地化 •••••••••••••••••••••••••••••••••290

14.1 GWT 如何识别你的语言•••••••••••••290

14.2 本地化配置 ••••••••••••••••••••••••••••••••••291

14.3 日期格式化 ••••••••••••••••••••••••••••••••••294

14.4 字符串动态本地化 •••••••••••••••••••••• 295

14.5 小结•••••••••••••••••••••••••••••••••••••••••••••• 296

第 15 章 其他高级功能••••••••••••••••••• 297

15.1 动画•••••••••••••••••••••••••••••••••••••••••••••• 297

15.2 历史管理•••••••••••••••••••••••••••••••••••••• 299

15.3 延时执行•••••••••••••••••••••••••••••••••••••• 301

15.4 等待执行和分片执行 •••••••••••••••••• 301

15.5 代码分割•••••••••••••••••••••••••••••••••••••• 302

15.5.1 SOYC•••••••••••••••••••••••••••••••••••• 304

15.5.2 初始化序列••••••••••••••••••••••••••• 305

15.5.3 编程模式••••••••••••••••••••••••••••••• 306

15.5.4 预加载••••••••••••••••••••••••••••••••••• 307

15.6 UiBinder••••••••••••••••••••••••••••••••••••••• 308

15.6.1 HTML 绑定 •••••••••••••••••••••••••• 308

15.6.2 控件绑定••••••••••••••••••••••••••••••• 310

15.6.3 CSS 绑定••••••••••••••••••••••••••••••• 311

15.6.4 事件管理••••••••••••••••••••••••••••••• 313

15.6.5 资源打包••••••••••••••••••••••••••••••• 314

15.6.6 创建控件••••••••••••••••••••••••••••••• 316

15.7 小结•••••••••••••••••••••••••••••••••••••••••••••• 316

相关推荐

微信二维码