第一部分 欢迎进入JavaBeans 1
第一章 使用组件 3
1.1 组件是软件的未来 3
1.1.1 对象 3
1.1.2 组件 4
1.2 组件 5
1.2.1 JavaBeans 5
1.2.2 ActiveX 5
1.3.1 BeanBox 6
1.3.2 添加一个Juggler Bean 6
1.3 使用JavaBeans进行快速应用程序开发 6
1.3.3 添加一个按钮Bean 8
1.3.4 连接Bean组件 8
1.3.5 添加另一个按钮 10
1.4 小结 11
1.5 问题与解答 11
1.6 讨论 12
第二章 建立Bean 13
2.1 Beans开发工具 13
2.1.1 Java开发工具包 14
2.1.3 Beans开发工具包 15
2.1.2 nmake工具 15
2.1.4 其它工具 16
2.2 从现有Java类创建Bean 17
2.2.1 Java的Button类 Bean 17
2.2.2 在JAR中存储Bean 17
2.3 小结 21
2.4 问题与解答 22
2.5 讨论 22
2.5.1 测验 22
3.1 编写一个简单的Bean 23
第三章 第一个Bean 23
3.1.1 加载图像 24
3.1.2 重设Bean的大小 25
3.1.3 显示图像 25
3.2 生成简单的Bean 26
3.3 在JAR中存储Bean 27
3.3.1 编写生成文件 27
3.3.2 运行nmake工具 30
3.4 测试Bean 30
3.7.1 测验 31
3.7 讨论 31
3.6 问题与解答 31
3.5 小结 31
第四章 Bean的定义 33
4.1 对象何时为Bean 33
4.2 Bean的功能 33
4.3 Bean的属性 34
4.3.1 私有数据域 34
4.3.2 访问者方法 34
4.3.3 依附属性 35
4.3.4 约束属性 35
4.3.5 带下标的属性 36
4.4 Bean事件 37
4.4.1 Delegation事件模型 37
4.5 Bean方法 37
4.6 内省 37
4.7 定制 39
4.7.1 属性编辑器 40
4.7.2 调用设置者方法 41
4.8 持续性 41
4.9 把Applet转换为Bean 41
4.9.1 修改TeddyApplet类 42
4.9.2 创建teddybean.jar文件 43
4.9.3 编写teddybean.html文件 44
4.9.4 测试TeddBean 45
4.10 小结 45
4.11 问题与解答 46
4.12 讨论 46
4.12.1 测验 46
第五章 Bean事件 47
5.1 使用Java的delegation事件模型 47
5.1.1 事件源 47
5.1.2 事件对象 48
5.1.3 事件收听者 49
5.1.4 传送事件 50
5.2 传送由Java组件创建的事件 50
5.2.1 注册事件收听者 50
5.2.2 编写使用事件收听者的JavaBeans 51
5.2.3 编写使用语义事件收听者的JavaBeans 56
5.3 传送JavaBeans创建的事件 60
5.3.1 编写创建属性修改事件的JavaBeans 60
5.3.2 编写接收属性修改事件的JavaBeans 66
5.3.3 使用SendEvents和ReceiveEvents Bean 69
5.5 问题与解答 70
5.4 小结 70
5.6 讨论 71
5.6.1 测验 71
第六章 GUI控件Bean 73
6.1 使用控件Bean 73
6.2 扩充Java的Canvas类 73
6.2.1 添加imageFilename属性 74
6.2.2 重设Bean的大小 75
6.2.3 其它修改 76
6.3.1 作为按钮的Picture Bean 80
6.3 创建一个图像按钮Bean 80
6.3.2 Picture Button Bean 81
6.4 小结 90
6.5 问题与解答 90
6.6 讨论 91
6.6.1 测验 91
第七章 运行期间非可视的Bean 93
7.1 非可视的JavaBean组件 93
7.1.1 时间和计时器 93
7.1.2 系统时间和计时器 99
7.1.3 编写一个计时器Bean 103
7.1.4 编写一个TestTimerBean 109
7.2 小结 112
7.3 问题与解答 112
7.4 讨论 112
7.4.1 测验 112
第二部分 完善Bean 115
第八章 添加弹出式菜单 115
8.1 在Bean中使用弹出式菜单 115
8.1.1 Bean之间的剪切与粘贴 115
8.2.1 创建弹出式菜单 118
8.2 给Bean添加弹出式菜单 118
8.2.2 与弹出式菜单交互作用 119
8.2.3 使用弹出式菜单 124
8.3 小结 125
8.4 问题与解答 125
8.5 讨论 126
8.5.1 测验 126
第九章 持续的Bean 127
9.1 JavaBeans串行化 127
9.1.1 实现Java的Serializable接口 127
9.2.1 使用Java的transient关键词 129
9.2 Serializable接口不够时使用的其他方法 129
9.2.2 使用Java的readObject方法 130
9.2.3 使用Java的writeObject方法 136
9.3 改写Bean 136
9.3.1 设计时需考虑的事情 137
9.3.2 记录类版本 137
9.3.3 读取serialVersionUID 138
9.3.4 使新的类与旧的类兼容 138
9.6.1 测验 139
9.6 讨论 139
9.5 问题与解答 139
9.4 小结 139
第十章 Bean对应用程序生成器的支持 141
10.1 显示一个Bean图标 141
10.2 控制可视属性 144
10.3 提供自定义属性编辑器 147
10.4 小结 150
10.5 问题与解答 150
10.6 讨论 151
10.6.1 测验 151
11.1.1 创建一个屏幕外的图形冲区 153
11.1 创建动画Bean 153
第十一章 动画Bean 153
11.1.2 创建MedisTracker对象 154
11.1.3 加载图像 154
11.1.4 运行Animation 156
11.2 绘制和更新图像 159
11.2.1 避免闪烁 159
11.3 封包并测试AnimatedTeddy Bean 167
11.4 小结 169
11.5 问题与解答 169
11.6.1 测验 170
11.6 讨论 170
第十二章 Bean安全性 171
12.1 JavaSecrurity API 171
12.1.1 公钥密码术 171
12.2 签名的代码 172
12.2.1 使用数字签署的Bean 172
12.2.2 创建数字签署的Bean 174
12.3 小结 180
12.4 问题与解答 181
12.5 讨论 181
12.5.1 测验 181
13.1 创建全球性的Bean 183
第十三章 国际化的Bean 183
13.2 使对象本地化 184
13.2.1 使用Java的Locale类 184
13.2.2 捆绑资源 187
13.3 编写GlobalBean Bean 187
13.3.1 创建Locale对象 187
13.3.2 创建ListResourceBundle对象 188
13.3.3 添加GlobalBean类构造方法 188
13.3.4 添加actionPerfromed方法 189
13.3.5 编写LabelsBundle类 191
13.3.6 使用ClobalBean Bean 194
13.4 小结 195
13.5 问题与解答 195
13.6 讨论 196
13.6.1 测验 196
第十四章 作为ActiveX组件的Bean 197
14.1 使用ActiveX Brideg for JavaBeans 197
14.1.1 作为ActiveX控件的Bean 197
14.1.2 使用作为ActiveX控件的Bean 201
14.1.3 操纵ActiveXBean控件 202
14.1.4 创建完整的Web 页面 204
14.2 小结 207
14.3 问题与解答 207
14.4 讨论 209
14.4.1 测验 209
第三部分 建立Bean 的应用程序 211
第十五章 使用RMI进行Internet通信 211
15.1 Java分布式对象模型 211
15.2 创建RMI应用程序 211
15.2.1 定义远程接口 212
15.2.2 实现远程对象 213
15.2.3 创建客户Bean 215
15.2.4 用两个步骤进行编译 218
15.2.5 创建通活图形接口Bean 218
15.2.6 封包Bean 220
15.2.7 测试通话应用程序 221
15.3 小结 223
15.4 问题与解答 224
15.5 讨论 224
15.5.1 测验 224
16.1 在网络上通信 225
16.2 使用TCP/IP 225
第十六章 Bean之间Internet通信 225
16.3 使用网络服务 227
16.4 使用Socket 227
16.5 使用Internet地址 227
16.6 使用UDP创建Bean 228
16.6.1 使用UDP 228
16.6.2 发送数据报包 229
16.6.3 接收数据报包 234
16.6.4 使用 UDPSend和UDPReceive Bean 238
16.8 问题与解答 242
16.7 小结 242
16.9 讨论 243
16.9.1 测验 243
第十七章 建立Telnet服务器Bean 245
17.1 使用TCP 245
17.2 创建一个Telnet服务器Bean 245
17.2.1 编写 TelnetServer类 246
17.2.2 创建依附属性 246
17.2.3 创建共共方法 248
17.2.4 创建 ServerSocker对象 249
17.2.5 收听Socker请求 249
17.2.6 编写TelnetClientService类 252
17.2.7 创建缓冲数据输入和输出 253
17.2.8 运行TelnetClientService对象的线程 254
17.2.9 添加登录和密码验证 254
17.2.10 处理Telnet客户命令 255
17.2.11 编译TelnetServer类 258
17.3 小结 258
17.4 问题与解答 258
17.5 讨论 259
17.5.1 测验 259
18.1.1 编写TelnetClient类 261
18.1 创建一个Telnet客户Bean 261
第十八章 建立Telnet客户Bean 261
18.1.2 编写TelnetClientThread类 264
18.1.3 使用Java的Socket类 265
18.1.4 编写TelnetClientCommands类 268
18.2 小结 269
18.3 问题与解答 269
18.4 讨论 269
18.4.1 测验 269
第十九章 测试Telnet Bean 271
19.1 创建TelnetServerInterface Bean 271
19.2 把 Bean封包到JAR中 273
19.3 测试Telnet Bean 274
19.3.1 连接Telnet服务器应用程序 275
19.3.2 连接Telnet客户应用程序 276
19.3.3 运行Telnet应用程序 276
19.4 小结 280
19.5 问题与解答 280
19.6 讨论 281
19.6.1 测验 281
20.1 使用JavaBeans手工编写应用程序 283
20.2 编写Telnet服务器应用程序 283
第二十章 编写Telnet应用程序 283
20.2.1 创建一个GUI容器 284
20.2.2 添加Bean 285
20.2.3 实现SctionListener接口 285
20.2.4 注册事件收听者 286
20.2.5 添加main方法 287
20.3 编写Telnet客户应用程序 288
20.3.1 创建一个GUI容器 289
20.3.2 添加Bean 289
20.3.3 实现SctionListener接口 290
20.3.5 添加main方法 291
20.3.4 注册事件收听者 291
20.4 运行Telnet应用程序 292
20.5 小结 296
20.6 问题与解答 297
20.7 讨论 297
20.7.1 测验 297
第二十一章 JavaBeans的未来 299
21.1 Bean的发展 299
21.3 多媒体 300
21.3.1 核心Java媒体API 300
21.2 拖放 300
21.3.2 标准扩充Java媒体API 301
21.4 Lolus InfoBus 301
21.5 IBM JavaBeans Migration Assistant 301
21.6 JavaIDL 301
21.7 下一版 302
21.7.1 对象聚集和授权模型 302
21.7.2 可扩充的运行时间包容和服务协议 302
21.8 小结 302
21.10 讨论 303
21.10.1 测验 303
21.9 问题与解答 303
第四部分 附录 307
附录A 安装JDK1.1、BOD以及相关软件 307
A.1 考查JDK和BDK目录结构 307
A.2 考查CLASSPATH 308
A.3 安装Java开发工具包 309
A.4 安装Beans开发工具包 313
A.5 安装JavaBeans Bridge for ActiveX 315
附录B Java API包 317
B.2 java.awt包 318
B.1 java.applet包 318
B.3 java.awt.datalransfer包 320
B.4 java.awt.event包 320
B.5 java.awt.image包 321
B.6 java.awt.peer包 322
B.7 java.beans包 323
B.8 java.io包 324
B.9 java.lang包 325
B.10 java.lang.reflect包 326
B.11 java.math包 327
B.12 java.net包 327
B.15 java.rmi.registry包 328
B.13 java.rmi包 328
B.14 java.rmi.dgc包 328
B.16 java.rmi.server包 329
B.17 java.security包 329
B.18 java.security.acl包 330
B.19 java.security.interfaces包 330
B.20 java.sql包 331
B.21 java.text包 331
B.22 java.util包 332
B.23 java.util.zip包 333
C.1.2 HTML工具 335
C.1.4 实用程序 335
C.1.3 图形、视频和声音应用程序 335
附录C 本书所带光盘内容 335
C.1.1 Java 335
C.1 Windows 软件 335
C.2 Mactintosh软件 336
C.2.1 Java 336
C.2.2 HTML工具 336
C.2.3 Craphics 336
C.2.4 实用程序 336