第1章JavaBeans与基于组件的软件开发 1
简介 1
现代软件的作用和痛苦的现实 1
目 录 1
软件开发的历史:与复杂性之战 2
40年代与第一台电子计算机 4
50年代着重于计算机的生产率 5
60年代:软件的复杂性导致开发成本激增 6
70、80和90年代:已经意识到危机,但未能有所作为 6
简单的办法:控制软件复杂性 7
Java革命 8
前面的路:Java与软件组件 8
软件组件 11
小结 16
第2章JavaBeans概述 17
简介 17
bean到底是什么 17
Java bean的黑盒子观点 18
bean方法 18
bean属生 19
bean事件 19
bean环境 19
设计环境 20
运行环境 21
小程序与应用程序环境 21
bean开发工具库和bean测试程序BeanBox 21
BeanBox 22
BDK演示bean 22
java.beans包 27
Beans类 28
小结 29
第3章Java 1.1委托事件模型 30
简介 30
问题:1.0 AWT事件模型 30
解决方案:事件源和事件监听器 33
iava.awt.event包 36
监听器接口 37
1.0 java.awt.Event的遗留问题 40
AWTEvent类 41
适配器类 46
事件多目广播和单目广播 49
建立自己的事件源 51
例1:AlarmTimer组件 51
例2:扩展一个AWT组件 62
AWT新问题:AWT单事件队列及其内部事件调度机制 71
小结 77
简介 78
第4章bean属性 78
setXXX()和getXXX()访问方法 79
定义读属性 79
定义写属性 80
定义读/写属性 80
bean属性类别 81
简单属性 82
布尔属性 82
索引属性 82
关联属性 83
限制属性 95
简单属性的多线程问题 105
属性与多线程 105
属性监听器和多线程 110
小结 114
第5章bean事件 115
简介 115
bean事件源 116
例1:目录清单bean 126
例2:图形映射bean 132
bean事件监听器 142
例1:按键事件登记bean 143
例2:建立在DirLister之上的DiskWaste bean 145
bean事件实用程序 150
例1:ActionEvent激活的Light bean 151
例2:键/鼠标/项目事件对ActionEvent的转化器bean 160
例3:普通AWT事件监视器bean 162
小结 164
第6章Java档案(JAR)文件与API 165
简介 165
JAR命令行工具 165
建立JAR文件 166
新Applet HTML标志选项ARCHIVE 169
JAR元数据和说明文件 170
包装好的bean 171
JAR和JaVa包 172
java.util.zip包 173
ZipFile和ZipEntry类 173
检查和接口及相关类 179
Deflater、Inflater、DeflaterOutputStream和InflaterInputStream 187
ZipInputStream和ZipOutputStream类 191
小结 196
第7章定制bean 198
简介 198
java.beans.BeanInfo接口 198
java.beans.SimpleBeanInfo类 199
调整bean的黑盒子接口 201
java.beans.FeatureDescriptor类 202
bean特性描述符类 202
java.beans.PropertyDescriptor类 203
utilities.beans.VerySimpleBeanInfo类 206
java.beans.IndexedPropertyDescriptor类 212
java.beans.EventSetDescriptor类 212
java.beans.MethodDescriptor类 214
java.beans.BeanDescriptor 214
bean定制器 214
java.beans.Customizer接口 214
例子:PlugNPray bean及其基于页面的定制器 215
小结 236
寻找可用的编辑器 237
第8章增加定制的属性编辑器 237
简介 237
java.beansPropertyEditor接口 239
PropertyEditorSupport类 240
文本属性编辑器 241
利用属性值标志表 246
定制GUI属性编辑器 247
例1:日期属性编辑器 247
例2:具有正弦参数属性编辑器的利萨如bean 256
小结 291
国际化 292
简介 292
第9章实际bean的实现 292
java.util.Locale类 293
Visibility接口 296
行业级组件的特性 296
功能化 296
建全 297
用户友好 297
开发友好 298
纯Java 299
完整例子:实时图表bean 299
实时图表的要求 299
实时图表设计 300
实时图表分析 300
实时图表实现 302
将RealTimeGraph bean包装成JAR 349
测试RealTimeGraph bean 349
评估和改进 350
小结 351
第10章Java核心反射和bean自查 352
简介 352
统一基于对象类型的系统 354
所有类型均可将其数值表示为对象 354
所有类型都有java.lang.Class表示 355
java.lang.Class类 356
java.lang.reflect包 361
Member接口 361
Field类 367
Method类 368
Constructor类 374
Array类 376
统一bean自查与java.beans.Introspector 385
小结 392
第11章对象序列化 393
简介 393
序列化基础 394
Serializable接口 395
序列化的是什么 397
对于不可序列化对象 406
ObjectOutputStream和ObjectInputStream类 407
专用方法writeObject()和readObject() 409
Externalizable接口 413
类的演变 413
serialVersionUID 413
小结 417
简介 418
例程库 418
附录A utilities包 418
杂库 419
数字库 420
字符串库 423
命令行接口库 425
I/O流库 426
DebugSupport类 426
转换类 430
utilities.beans子包 430
bean库 430
VerySimleBeanInfo和VerySimlePropertyDescriptor类 431
VisibleCanvas类 435
utilities.gfx子包 436
图形库 436
Circle类 438
utilities.gui子包 442
GUI库 442
对话框库 443
选项库 447
utilities.files子包 448
文件库 448
TextFileGrinder类和TextLineProcessor接口 450
小结 451
词汇表 452