读书人

JavaFx本质论

发布时间: 2010-03-13 03:15:13 作者:

 JavaFx本质论


基本信息出版社:人民邮电出版社
页码:314 页
出版日期:2009年08月
ISBN:7115211418/9787115211415
条形码:9787115211415
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:图灵程序设计丛书
外文书名:Essential JavaFx

内容简介 《JavaFx本质论》适合有一定编程经验的开发人员学习和使用,但不要求读者熟悉Java。JavaFX是一个富客户端平台,可用于构建桌面、浏览器和移动设备应用程序。JavaFX脚本是一种简单易学的声明式脚本语言,这种语言有助于Web开发人员和GUI设计人员更好地协作。《JavaFx本质论》将展示如何高效地使用JavaFX。全书共分为10章,详细介绍了编写JavaFX脚本所需的一切技能,包括JavaFX基础知识,JavaFX语言,JavaFX场景图,JavaFX移动环境,如何高效地使用绑定、事件处理程序和动画,如何使用Web服务,以及如何使用混入继承和最新的UI组件。每章都包括经过JavaFX 1.2充分测试的应用程序示例。
作者简介 Gall Anderson,软件专家和技术作家,撰写了大量前沿Java技术图书。Gail是Anderson软件公司的创始人之一,该公司是一家领先的软件开发培训课程提供商和软件技术(~nJava、C++、C#、Perl、UMLgllLinux)培训机构。
PauI Anderson Anderson软件公司的创始人之一。Paul已经培训了数千名软件开发人员,他讲解的软件工程方面的课程生动有趣、通俗易懂。
两位作者合著的图书有Assemble the SociafWeb with zembly(2009)、java StucfioCreator F|eId Guide(2006) 和EnterprisejavaBeans Component Architecture(2002),均由Prentice Hall出版社出版。
编辑推荐 《JavaFx本质论》详细介绍了编写JavaFX应用程序所需的知识,读者能利用该语言特有的功能创建丰富的内容《JavaFx本质论》从基础知识开始,详细介绍了JavaFX场景图,阐述了如何高效地使用绑定、事件处理程序和动画,以及如何使用混入继承和最新的UI组件每章都包括经过davaFX 1 2充分测试的应用程序示例,便于读者参考
JavaFx是一个富客户端平台.可以构建适用于桌面、浏览器和移动设备的应用程序和富有表现力的内容davaFX应用程序用一种简单易学的声明式脚本语言JavaFX Sc rpt写成创建这种语言的目的是让Web开发人员gnGuI设计人员方便地协作这种语言还提供了强大的数据绑定功能.使图形组件能够随底层数据的变化而自动更改状态
目录
第1章 JavaFX入门 1
1.1 什么是JavaFX 1
1.2 JavaFX Bundle 2
1.2.1 JavaFX SDK 2
1.2.2 NetBeans IDE 3
1.2.3 JavaFX Production Suite 3
1.3 获取JavaFX 3
1.3.1 创建NetBeans项目 4
1.3.2 编辑JavaFX源代码 7
1.3.3 编译并运行 8
1.3.4 执行模型 8

第2章 JavaFX初体验 11
2.1 JavaFX简介 11
2.2 GuitarTuner 12
2.2.1 场景图比喻 12
2.2.2 分层场景图 14
2.3 JavaFX程序结构 14
2.3.1 Stage和Scene 14
2.3.2 对象字面值 16
2.4 JavaFX主要特性 16
2.4.1 类型推断 17
2.4.2 字符串 17
2.4.3 形状 17
2.4.4 序列 18
2.4.5 调用Java API 19
2.4.6 扩展CustomNode 20
2.4.7 几何图形系统 21
2.4.8 布局/组 21
2.4.9 JavaFX脚本工件 21
2.5 获得漂亮的外观 22
2.5.1 渐变 22
2.5.2 颜色 24
2.5.3 圆角矩形 26
2.5.4 DropShadow 27
2.6 执行任务 27
2.6.1 绑定 28
2.6.2 鼠标事件 29
2.6.3 动画 29
2.7 GuitarTuner的源代码 32

第3章 JavaFX语言 39
3.1 变量和类型 39
3.1.1 JavaFX类型 40
3.1.2 输出变量 42
3.1.3 伪变量 43
3.2 运算符 43
3.2.1 算术运算符 43
3.2.2 赋值运算符 44
3.2.3 一元运算符 44
3.2.4 关系运算符 44
3.2.5 逻辑运算符 45
3.2.6 instanceof运算符 45
3.3 表达式 45
3.3.1 块表达式 46
3.3.2 if表达式 46
3.3.3 for表达式 47
3.3.4 while表达式 47
3.3.5 break和continue 48
3.3.6 绑定表达式 48
3.3.7 双向绑定 49
3.4 序列 49
3.4.1 序列字面值 49
3.4.2 输出序列 50
3.4.3 使用for创建序列 51
3.4.4 访问序列中的项 52
3.4.5 在序列中插入项 52
3.4.6 从序列中删除项 53
3.4.7 比较序列 54
3.4.8 序列子集 54
3.4.9 谓词 54
3.4.10 绑定序列 55
3.5 函数 56
3.5.1 定义函数 56
3.5.2 向函数传递参数 56
3.5.3 从函数返回值 57
3.5.4 绑定函数调用 57
3.5.5 绑定函数 58
3.5.6 程序参数 59
3.5.7 函数类型 59
3.6 类和对象 61
3.6.1 类 62
3.6.2 对象字面值 62
3.6.3 使用public-init 63
3.6.4 init块 64
3.6.5 使用public-read 64
3.6.6 使用this 65
3.6.7 使用null 66
3.6.8 使用Java对象 66
3.6.9 与对象字面值绑定 67
3.6.10 覆盖绑定 69
3.7 继承 69
3.7.1 覆盖函数 69
3.7.2 使用super 70
3.7.3 postinit 块 71
3.7.4 抽象基类 72
3.7.5 as运算符 73
3.7.6 混入继承 74
3.8 触发器 76
3.8.1 与变量一起使用的on replace 77
3.8.2 与序列一起使用的on replace 77
3.8.3 与isInitialized一起使用的on replace 78
3.8.4 与绑定一起使用的on replace 79
3.9 脚本文件和包 79
3.9.1 变量作用域 80
3.9.2 函数作用域 80
3.9.3 脚本文件 80
3.9.4 访问修饰符 81
3.9.5 包 82
3.10 异常处理 83
3.10.1 try、catch、finally 84
3.10.2 抛出异常 85
3.11 JavaFX关键字 85

第4章 图形对象 87
4.1 设置Stage 87
4.1.1 场景 88
4.1.2 Node 88
4.1.3 光标 92
4.1.4 Group 94
4.1.5 CustomNode 94
4.2 形状 95
4.2.1 矩形 98
4.2.2 圆 98
4.2.3 椭圆 99
4.2.4 弧 99
4.2.5 多边形 100
4.2.6 二次曲线 100
4.2.7 三次曲线 101
4.2.8 直线 101
4.2.9 折线 102
4.2.10 SVGPath 102
4.2.11 ShapeIntersect/ShapeSubtract 104
4.2.12 Text 106
4.3 Path 107
4.4 布局组件 110
4.4.1 HBox和VBox 110
4.4.2 Flow和Tile 112
4.4.3 Stack 114
4.5 几何体 115
4.5.1 Point2D 115
4.5.2 Bounds/Rectangle2D 115
4.5.3 边界矩形 116

第5章 用户界面组件 119
5.1 JavaFX UI控件 119
5.1.1 TextBox 119
5.1.2 UI组件 121
5.1.3 Popup窗口 123
5.2 Swing组件 124
5.2.1 SwingButton 125
5.2.2 SwingCheckBox 125
5.2.3 SwingComboBox 126
5.2.4 SwingComboBoxItem 126
5.2.5 SwingIcon 127
5.2.6 SwingLabel 127
5.2.7 SwingScrollPane 128
5.2.8 SwingList 128
5.2.9 SwingListItem 128
5.2.10 SwingRadioButton 130
5.2.11 SwingToggleButton 131
5.2.12 SwingToggleGroup 131
5.2.13 SwingSlider 131
5.2.14 SwingTextField 131
5.3 Swing示例 132
5.3.1 比萨是圆形的 132
5.3.2 馅料是圆形的 134
5.3.3 用SwingRadioButton选择比萨大小 135
5.3.4 用SwingCheckBox选择馅料 136
5.3.5 通过绑定函数和绑定实现集成 137
5.4 创建可换肤的组件 138
5.4.1 CSS 138
5.4.2 可换肤的TextButton组件 142
5.4.3 可换肤的ChoiceDialog组件 148

第6章 JavaFX应用程序剖析 157
6.1 Piano项目 157
6.2 PianoKey组件 158
6.2.1 PianoKey类 159
6.2.2 WhiteKey子类 160
6.2.3 单键应用程序 163
6.2.4 子类BlackKey 165
6.2.5 两键应用程序 167
6.3 构建键盘 169
6.4 SwingButton和动画 172
6.5 添加帮助和改进视觉效果 177
6.6 Piano项目的源代码 182

第7章 动画 193
7.1 时间轴 194
7.1.1 动画基础:移动对象 196
7.1.2 动画多个目标 198
7.1.3 分别动画多个目标 199
7.1.4 动画组 201
7.1.5 动画和绑定 204
7.2 时间轴的action属性 205
7.2.1 使用action属性数字钟显示 206
7.2.2 使用action属性进度条 207
7.3 变换 211
7.3.1 变换基础:简单运动 212
7.3.2 ScaleTransition 213
7.3.3 旋转和淡出淡入变换 214
7.3.4 复合变换 217
7.4 路径动画 219
7.4.1 创建路径 219
7.4.2 PathTransition 221
7.5 滑坡与梯子 223
7.5.1 PathBall类(PathBall.fx) 224
7.5.2 主程序(Main.fx) 227

第8章 使用图像 233
8.1 使用Image 233
8.2 使用ImageView 236
8.2.1 缩放 240
8.2.2 变换和效果展示 242
8.3 构建照片墙 246
8.4 鼠标拖放 252
8.5 动画照片传送带 256
8.5.1 照片传送带场景图 257
8.5.2 CarouselPhoto动画 257
8.5.3 CarouselPhoto自定义节点 258
8.5.4 Carousel自定义节点 261
8.5.5 CarouselImage类 264
8.5.6 主脚本 264

第9章 Web服务 267
9.1 JavaFX的pull解析器 267
9.1.1 XML解析 268
9.1.2 JSON解析 274
9.1.3 动画照片传送带 276
9.2 JavaFX HttpRequest 277
9.3 Flickr:有趣的照片 281
9.3.1 Flickr 281
9.3.2 有趣的照片 282
9.4 Flickr:搜索标签 289
9.5 Flickr:获取用户照片 292

第10章 移动应用程序 295
10.1 JavaFX Mobile 295
10.1.1 移动模拟器 297
10.1.2 显示环境 299
10.1.3 变更方向 301
10.1.4 鼠标事件和键盘事件 303
10.1.5 用户输入 305
10.2 让JavaFX应用程序在移动环境中运行 306
10.2.1 检测移动环境 307
10.2.2 检测方向变更 308
10.2.3 减少图像的数量和大小 308
10.2.4 调整动画 309
10.3 仅针对移动设备的应用程序 310
……
序言 当完成最后的修改并交付印刷的时候,我们都非常激动,很高兴能够为JavaFx做点事情。在2009年2月,JavaFx运行时的下载量达到了l亿1。JavaFX开发人员的数量无疑也会随之上升,因为越来越多的开发人员可以体验到JavaFX的灵活性和强大功能。我们相信,这些因素将推动JavaFX语言的继续发展及其运行时环境的不断增强。
本书旨在让你快速了解JavaFx。JavaFX是一种脚本语言,它不是Java,但它构建在Java运行时之上。无需有使用Java的经验,就可以成功使用JavaFX。事实上,如果你不会像开发人员那样思考,JavaFX的声明式语法会使你的编程生活更轻松。JavaFX鼓励你像设计人员那样思考。
像设计人员那样思考是什么意思呢?大体来说,它的意思是使应用程序或窗口小部件的结构可视化,使用简单的形状和其他构造块创建场景。在JavaFX中,通过声明对象创建场景。
我们举个例子。假如你想表现一幅碧海蓝天、艳阳高照、海中小岛这样的画面(想想南太平洋)。万里无云的蓝天是背景(可以使用线性渐变,从“蓝天”到“碧空”)。太阳是一个圆圈,带有由黄色和橘色组成的径向渐变。小岛是一个二次曲线(想想圆锥状的火山型天堂岛屿,用深棕色和热带绿渐变填充)。这个场景如图1所示(近似黑白效果图)2。
使用JavaFx不仅可以声明可视对象,还能声明动画。动画为对象赋予了生机。回到天堂岛屿的例子,我们表现日出的景象。当晨光渐渐使这个飘渺的世界显露出形状时,颜色是柔和的。太阳升起,岛屿露出了它的真面目。太阳继续在天空中升高,整个世界变亮。当太阳升到最高处,大海和天空的颜色饱和了,应使用海绿色、天青色和天蓝色。但是这种明亮是暂时的。太阳按照其路径,最终在温暖的红色余晖中渐渐落入海中。天空变暗,大海褪色,最终,小岛消失不见了,一切变成黑色。你可以使用动画和一个强大的叫做绑定(binding)的JavaFx语言结构构建这些行为。
文摘 插图:

读书人网 >程序设计

热点推荐