第1部分 软件组件结构的总体描述 2
第1章 软件组件结构 2
1.1 模型 2
1.2 组件 3
1.2.1 什么是组件 5
1.3 框架 5
1.3.1 什么是框架 7
1.3.2 水平框架 8
1.3.3 复合文档框架 8
1.3.4 垂直框架 10
1.4 对象总线 10
1.5 相关信息 11
第2章 OpenDoc/CORBA 12
2.1 CORBA 12
2.1.1 CORBA 对象总线:ORB 13
2.1.2 IDL 14
2.1.3 对象引用 15
2.1.4 静态调用和动态调用 16
2.1.5 对象适配程序 18
2.1.6 CORBA服务 18
2.1.7 CORBA功能 19
2.2 OpenDoc 19
2.2.1 文档 20
2.2.2 部件(Parts) 20
2.2.3 部件编辑器 20
2.2.4 框架 21
2.2.5 部件种类和范畴 21
2.2.6 显示 21
2.2.7 用户接口 21
2.2.8 事件处理 21
2.3 相关信息 22
2.2.11 写脚本 22
2.2.10 存储 22
2.2.9 统一数据传送(UDT) 22
第3章 Activex/DCOM 23
3.1 COM总览 23
3.1.1 接口 24
3.1.2 IUnknown 27
3.1.3 引用计数 27
3.1.4 服务器类型 28
3.1.5 编组 28
3.1.6 COM对象创建 29
3.2 DCOM 30
3.2.1 远程对象的创建 30
3.2.2 远程对象访问 30
3.2.3 编组 31
3.2.4 安全性 31
3.3 ActiveX控件 31
3.3.1 组件种类 32
3.3.2 用户接口 33
3.3.3 属性 33
3.3.4 方法 33
3.3.5 事件 33
3.4 相关信息 34
第4章 Java Beans 35
4.1 Java Beans结构 35
4.1.1 RMI 36
4.1.2 IIOP 36
4.1.3 JDBC 37
4.2 Java Beans组件 37
4.2.1 对Java Beans组件的不同观点 38
4.2.2 地址空间 41
4.2.3 不可见的Java Beans组件 43
4.2.4 多线程 43
4.2.9 安全性 44
4.2.8 事件 44
4.2.5 国际化 44
4.2.6 属性 44
4.2.7 方法 44
4.3 统一数据传送(UDT) 45
4.4 打包 45
4.5 小结 46
第2部分 Java Beans基础 48
第5章 Java Beans组件应用程序HelloWorld 48
5.1 Java Beans框架 48
5.1.1 AppletAutbor 49
5.1.2 Java Workshop 49
5.1.3 JBuilder 49
5.1.4 Mojo 49
5.1.5 Project Studio 49
5.1.6 VisualAge 49
5.2 编码标准 50
5.1.7 Visual Cafe 50
5.1.8 BeanBox 50
5.3 Java Beans组件HelloWorld 51
5.3.1 Java Beans组件PushButton 51
5.3.2 Java Beans组件HelloDisplay 59
5.4 Java Beans组件HelloWorld的程序性集成 60
5.5 Java Beans组件HelloWorld的可视化集成 62
5.5.1 把Java Beans组件加到框架中 62
5.5.2 集成HelloWorld应用程序 63
5.6 3 小结 63
5.7 相关信息 65
第6章 属性 66
6.1 属性的存取器方法 66
6.2 属性的类型 67
6.2.1 单值属性 67
6.2.2 索引属性 69
6.3.1 联系语义 72
6.3 属性的语义 72
6.3.2 约束语义 78
6.3.3 联系和约束语义 83
6.3.4 全局接收程序和专用接收程序 84
6.4 小结 85
第7章 JDK 1.1事件模型 86
7.1 JDK 1.0事件模型 86
7.1.1 JDK 1.0事件模型的概况 87
7.1.2 JDK 1.0事件模型的不足之处 87
7.2 JDK1.1事件相关对象 88
7.3 事件状态对象 89
7.3.1 低级事件及语义事件 91
7.4 事件接收程序 92
7.4.1 低级事件和语义事件 96
7.5 事件源 97
7.4.2 带有任意变元的方法 97
7.6 注册 98
7.6.1 多点传输 98
7.6.2 单点传输 99
7.7 传送 100
7.7.1 多点传输 101
7.7.2 单点传输 102
7.7.3 同步传送 103
7.7.4 并发控制 103
7.7.5 例外处理 104
7.7.6 传送的次序 104
7.7.7 在传送中修改事件接收程序 104
7.8 事件观察程序 104
7.9 事件适配程序(Event Adapters) 107
7.9.1 多路分解适配程序(demultiplexing adapters) 107
7.11 小结 110
7.10 安全性问题 110
7.12 相关信息 111
第8章 扩充AWT组件中的事件 112
8.1 扩充组件中的事件处理 112
8.1.1 事件处理 112
8.1.2 事件选择 115
8.1.3 组装 118
8.2 事件的消耗 120
8.3 事件队列 121
8.4 小结 121
第9章 对象串行化及Java Beans组件的持久性 122
9.1 一个简单的持久Java Beans组件 122
9.2 对象串行化概貌 123
9.3 HelloWorld例子 124
9.4 对象图 126
9.5.2 将对象图串行化 129
9.5 Serializable接口 129
9.5.1 保护敏感数据 129
9.5.3 定制串行化 130
9.5.4 非串行化超类 133
9.6 Externalizable接口 133
9.7 容器内的串行化和非串行化 134
9.7.1 DataOutput接口 134
9.7.2 ObjectOutput接口 135
9.7.3 ObjectOutputStream类 135
9.7.4 DataInput接口 136
9.7.5 ObjectInput接口 137
9.7.6 ObjectInputStream类 137
9.8 Java Beans组件持久性的一些原则 138
9.9 小结 139
9.10 相关信息 139
10.1 Java核心重查概论 140
第10章 核心重查应用程序接口 140
10.2 Inspector应用程序 141
10.3 java.lang.Class类 145
10.4 java.lang.reflect.Field类 146
10.5 java.lang.reflect.Method类 148
10.6 java.lang.reflect.Construetor类 150
10.7 安全性考虑 152
10.9 相关信息 154
10.8 小结 154
第11章 提供显式Java Beans组件信息 155
11.1 java Beans组件DirectBean 155
11.1.1 属性 156
11.1.2 事件 157
11.1.3 方法 160
11.2 DirectBeanBeanInfo类 160
11.2.1 BeanInfo接口 161
11.3 识別图标 162
11.2.2 SimpleBeanInfo类 162
11.4 输出属性 163
11.4.1 FeatureDescriptor类 164
11.4.2 PropertyDescriptor类 165
11.5 规定事件 166
11.5.1 EventSetDescriptor类 167
11.6 确定方法 168
11.6.1 MethodDescriptor类 169
11.7 提供Java Beans组件的总体信息 169
11.7.1 BeanDescriptor类 170
11.8 Introspector Class类 170
11.9 小结 171
第12章 定制属性编辑器 172
12.1 定制属性编辑器综述 172
12.1.1 PropertyEditor接口 173
12.2 java Beans组件CustBean 174
12.1.3 PropertyEditorManaget类 174
12.1.2 PropertyEditorSupport类 174
12.2.1 PropTypel类 177
12.2.2 CustBeanBeanInfo类 179
12.3 EnumEditor定制编辑器 180
12.4 PropTypeIEditorA定制编辑器 181
12.5 PropTypeIEditorB定制编辑器 184
12.6 小结 188
第3部分 Java Beans的应用程序 190
第13章 多点传输java Beans组件 190
13.1 多点传输的基础 190
13.2 将多点传输Java Beans组件装入应用程序 191
13.2.1 装入多点传输Java Beans组件 191
13.2.2 从网上接收多点传输消息 192
13.2.3 向接收者分发多点传输消息 193
13.2.4 在网络中传送多点传输消息 194
13.2. 发送与接收音频数据 195
13.3 MulticastEvent事件 197
13.4 MulticastListener接收程序 199
13.5 Java Beans组件MulticastChannel 199
13.6 Channel类 203
13.7 Java Beans组件TextChannel 205
13.8 Java Beans组件AudioChannel 206
13.9 McastSend程序 208
13.10 MultiCastChannelBeanInfo类 212
13.11 打包 213
13.12 小结 215
第14章 自动软件更新 216
14.1 将自动更新Java Beans组件装入应用程序 216
14.1.1 装入自动更新Java Beans组件 216
14.1.2 发行软件产品 217
14.1.3 订购软件产品 219
14.1.4 向网络多点传输软件更新消息 219
14.1.5 接收多点传输的更新消息 220
14.2 Java Beans组件Publisher 221
14.3 PublishListener接收程序 227
14.4 PublishEvent类 227
14.5 SoftwareEvent类 227
14.6 Software类 228
14.7 Location类 230
14.8 Java Beans组件SoftwareBase 230
14.9 UpdateListener接收程序 233
14.10 UpdateEvent类 233
14.11 Java Beans组件Subscriber 233
14.12 SubscribeListener接收程序 235
14.13 SubscribeEvent类 235
14.14 Java Beans组件EventRelay 236
14.15 打包 238
14.16 小结 239
15.1 运行Visual Basic应用程序WebStat 240
第15章 ActiveX桥接程序 240
15.2 WebStat程序包 241
15.2.1 WebStatus 242
15.2.2 WebStatListener 245
15.2.3 WebStatEvent 245
15.3 将WebStatus打包成一个ActiveX控件 246
15.3.1 指定jar文件 246
15.3.4 规定输出目录 247
15.3.3 规定ActiveX控件名字 247
15.3.2 选取Java Beans组件 247
15.3.5 启动生成 248
15.4 检查应用程序WebStat 248
15.4.1 启动Visual Basic 249
15.4.2 frmMain帧 249
15.4.3 frmConfig帧 249
15.5 小结 251
参考文献 253