国内第一本基于 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
本书全面阐述了现代通信系统分析和设计所必需的基本原理,并对重要的数学基础知识进行了回顾。涉及的内容包括信号与线性系统,幅
创意字体与标志设计 本书特色 创意字体作为视觉信息传达的一部分,在大众传媒、企业形象、商品包装、橱窗及店面设计等方面,显示出越来越重要的作用。在字体的设计中,有...
随着宽带数据和多媒体业务的迅猛发展,第三代移动通信原定目标规定的2Mbit/s的传输速率已经远远不能满足需求,加上WiMAX等宽带无
《网站运维:保持数据实时的秘技》的各位合作者以自己的亲身经历,从不同的侧面讲述了一个正在发展中的新兴技术领域——网站运维:
WrittenbynotedquantumcomputingtheoristScottAaronson,thisbooktakesreadersonatourt...
《外国设计艺术经典论著选读(上下)》主要精选有代表性的外国设计艺术的经典论著,尤以当代的著述为主,每篇均附有作者介绍和导读
Godinslatestbusinesshandbook(afterSmallIstheNewBigandTheDip)revisitssomeofhismos...
《医点就通》内容简介:我们在面对健康问题时,都有这样的困扰:自己和家人一生病就着急;一有病就往医院跑,费时费力;没有足够时
《移动互联网时代文化产业商业模式》内容简介:这是一本面向大众,将国家社科基金重大项目"我国文化产业发展战略研究”之子课题"中
《从物联到万联:Node.js与树莓派万维物联网构建实战》内容简介:《从物联到万联:Node.js与树莓派万维物联网构建实战》是介绍万维
《中小银行运维架构》内容简介:本书为商业银行构建运维体系和掌握核心运维技术提供了指导。以一家中小型的商业银行为蓝本,讲述商
《孙思邈(中华先贤人物故事汇)【中宣部2022年主题出版重点出版物】》内容简介:孙思邈是我国历史上著名的医学家和药物学家,被后
这本伊隆·马斯克(ElonMusk)的传记可能会改变你对人生的整个看法!当他第二次登上《每日秀》的舞台时,我就觉得应该要有一本高质
C游戏编程从入门到精通-(第2版)(配1张光盘) 目录 第1章文本格式游戏1.1文本模式游戏制作1.1.1文本窗口函数1.1.2INT10中断功能1.2猜数字游...
《远去的星光》内容简介:本书为“凤凰枝文丛”之一种,系长期执教于日本金泽大学的李庆教授的历年学术随笔的集合,全书分为“远去
中文版AutoCAD 2004二次开发标准教程 内容简介 长期以来,广大工程人员一直热切期盼有一本易学易用的AutoLISP程序开发图书,以便学习、使用Auto...
《明诗鉴赏》内容简介:《明诗鉴赏》是“新选中国名诗1000首”丛书中的一种,是由首都师范大学教育部长江学者特聘教授左东岭注评。
机器人学.机器视觉与控制-MATLAB算法基础 本书特色 本书是关于机器人学和机器视觉的实用参考书, **部分“基础知识”(第2章和第3...
Originallypublishedin1998,MultiuserDetectionprovidesacomprehensivetreatmentofthe...
《女人开心药典》内容简介:几乎没有一种疾病是纯粹身体的、生理的,都多多少少地与情绪、精神有关系,都是“身心与共”的。“肝郁