第一章 Java与Visual J+++ 1
1.1 Java概述 1
1.1.1 Java的起源 2
1.1.2 Java的现状 3
1.1.3 Java的未来 3
1.2 Java的语言特点 4
1.2.1 出自于C+++ 4
1.2.2 简单性 4
1.2.3 面向对象 5
1.2.4 分布式 5
1.2.5 支持多线程 5
1.2.6 解释型 6
1.2.7 健壮性 6
1.2.8 安全性 6
1.2.9 平台无关性 7
1.2.10 统一的类库体系 7
1.3 关于Visual J+++ 8
1.3.1 Visual J+++在Java家族中的地位 8
1.3.2 集成化的开发环境 8
1.3.3 智能化的开发向导 9
1.3.4 断点设置、跟踪与单步执行功能 10
1.3.5 方便实用的资源编辑器 10
1.3.6 无所不在的联机帮助 11
1.3.7 支持DCOM和Active X 12
1.3.8 关于100%纯Java问题 12
1.4 应经常访问的网址 13
1.5 从这里开始 14
1.5.1 安装Visual J+++ 14
1.5.2 用Visual J+++开始一个工程 14
1.5.3 工作区 17
1.5.4 工作区文件 18
1.5.5 工作区的组织 18
1.5.6 不建工程直接调试Java程序 21
1.6 结束语 24
第二章 数据类型、变量、表达式 25
2.1 Java的符号集 25
2.2 标识符与关键字 26
2.3 常量 27
2.3.1 数值常量 27
2.3.2 字符常量 27
2.3.3 布尔型常量 28
2.4 运算符和分隔符 28
2.5 基本数据类型与变量的声明 29
2.5.1 整型 29
2.5.2 声明整型类型实例 30
2.6 浮点型及其声明 30
2.7 字符型及其声明 31
2.8 声明数组 32
2.9 运算符及其优先级 32
2.10 布尔运算符 35
2.11 位运算符 36
2.12 数组运算符 40
2.13 运算符的优先级 41
2.14 类型转换 41
2.15 结束语 42
第三章 流程控制 43
3.1 概述 43
3.2 if条件语句 44
3.2.1 简单条件语句 44
3.2.2 复合条件语句 45
3.3 循环语句 46
3.3.1 while语句和do while语句 47
3.3.2 for循环 48
3.4 switch语句 49
3.5 转移语句 51
3.6 返回语句 53
3.7 结束语 54
第四章 面向对象的编程基础 55
4.1 面向对象编程的基础 55
4.1.1 过程式编程与面向对象编程 55
4.1.2 面向对象的基本概念 56
4.1.3 什么是对象 56
4.1.4 什么是类 57
4.2 Java语言中的对象和类 58
4.2.1 Java对象和类的层次 58
4.2.2 类声明 58
4.2.3 实例变量 59
4.2.4 类的实例化 59
4.3 类方法 61
4.3.1 方法的声明 61
4.3.2 方法重载 62
4.4 类的继承 68
4.4.1 类的继承 68
4.4.2 this关键字 69
4.4.3 super关键字 71
4.4.4 方法覆盖 72
4.5 对象转换 73
4.6 对象的可访问性 74
4.6.1 变量和方法的可访问性 74
4.6.2 类修饰符 74
4.7 接口 75
4.8 包 77
4.8.1 包声明 77
4.8.2 加载其他包 78
4.9 一个综合实例 78
4.10 结束语 81
第五章 Java类库构成与基本类库 83
5.1 Java类库的整体结构 83
5.1.1 Java类库 83
5.1.2 浏览器类库 85
5.2 语言基础类库 86
5.2.1 对象类 87
5.2.2 包含数据类型的类 87
5.2.3 数学类 90
5.2.4 字符串类 91
5.2.5 系统类 95
5.3 输入输出类库及使用 97
5.3.1 输入输出类库概述 97
5.3.2 输入流类和输出流类 98
5.3.3 文件访问 100
5.3.4 字节数组的输入输出 105
5.3.5 随机存取文件类 107
5.3.6 流令牌类 108
5.4 工具类库及应用 110
5.4.1 Utility类库的结构 110
5.4.2 日期和时间类 111
5.5.3 向量类及应用 113
5.5.4 哈希类表及使用 118
5.5.5 位集类 121
5.5.6 字符串令牌类 122
5.6 结束语 124
第六章 Applet编程 125
6.1 Applet类库 125
6.2 Applet类的继承层次 126
6.3 Applet类的构造方法、变量和方法 126
6.4 Applet的结构 127
6.5 创建第一个applet 129
6.6 HTML与Applet 136
6.6.1 HTML 136
6.6.2 J+++与HTML标记 138
6.7 Applet的图形处理 140
6.7.1 Paint()方法与Graphics类 140
6.7.2 字体与颜色 141
6.8 一个applet实例 143
6.9 AppletWizard 145
6.9.1 用AppletWizard创建一个新工程 145
6.10 Applet的消息传递 157
6.10.1 Applet鼠标消息的传递 157
6.10.2 Applet的参数传递 159
6.11 Java Appletcation 166
6.12 结束语 171
第七章 AWT的使用 173
7.1 AWT类库的层次 173
7.2 AWT组件 174
7.2.1 按钮 174
7.2.2 画布 175
7.2.3 复选框 175
7.2.4 复选框组 176
7.2.5 单选框 176
7.2.6 标签 177
7.2.7 列表 178
7.2.8 滚动条 179
7.2.9 文本组件 180
7.2.10 单行文本编辑域 181
7.2.11 多行文本编辑域 182
7.3 AWT容器 182
7.3.1 框架 183
7.3.2 面板 185
7.3.3 对话框 185
7.3.4 文件对话框 186
7.3.5 菜单 186
7.4 布局管理器 188
7.4.1 边界布局管理器类 188
7.4.2 卡片布局管理器类 189
7.4.3 流式布局管理器类 190
7.4.4 网格布局管理器类 191
7.4.5 无布局管理器 191
7.5 AWT应用实例 192
7.6 结束语 194
第八章 资源编辑器 195
8.1 向系统加入对话框 195
8.1.1 对话框资源编辑器 195
8.1.2 Java资源向导 198
8.1.3 创建对话框的实例 199
8.2 给应用添加菜单 206
8.2.1 创建资源 206
8.2.2 将资源转换为Java代码 209
8.2.3 把文件添加到工程 210
8.2.4 修改应用程序源代码 210
8.2.5 编译执行代码 211
8.3 用资源编辑器开发Applet界面——对话框 212
8.4 向applet中添加菜单 216
8.5 结束语 219
第九章 多线程 221
9.1 有关多线程的几个概念 221
9.1.1 线程与进程 221
9.1.2 线程的执行与并发性 221
9.1.3 优先级 222
9.1.4 调度 222
9.2 不用编写任何代码而创建一个多线程 222
9.3 Thread类 223
9.3.1 Thread类构造方法 224
9.3.2 Thread类的方法 224
9.4 线程的生命周期 225
9.4.1 新生状态 226
9.4.2 运行状态 226
9.4.3 堵塞状态 226
9.4.4 死亡状态 227
9.5 实现多线程 227
9.5.1 创建Thread类的子类的方法实现多线程 227
9.5.2 实现runnable接口 231
9.6 设置线程优先级实例 234
9.7 了解多线程的几个新概念 236
9.7.1 线程组 236
9.7.2 线程同步 237
9.7.3 守护线程 237
9.8 结束语 237
第十章 JDBC 239
10.1 JDBC的工作机制 239
10.2 JDBC的优点及缺点 241
10.3 Java Database Wizard的应用 241
10.4 结束语 257
第十一章 网络编程 259
11.1 通信协议 259
11.2 通信在Java编程中的应用 261
11.2.1 与浏览器通信 261
11.2.2 用Internet协议通信 262
11.2.3 Applet之间的通信 262
11.2.4 与服务器的通信 264
11.3 网络通信实例——myNet工程 265
11.4 java.net类库中的常用类 270
11.5 结束语 271
第十二章 VisualJ中的调试方法与异常 273
12.1 Visual J+++中的调试方法 273
12.1.1 为调试做准备 274
12.1.2 断点 275
12.1.3 观察变量和表达式信息 276
12.1.4 Watch窗口 277
12.1.5 Variables窗口 277
12.1.6 Call Stack窗口 277
12.1.7 Disassembly窗口 278
12.1.8 Exceptions窗口 278
12.1.9 Thread窗口 279
12.1.10 关闭调试对话 279
12.2 异常 279
12.2.1 消除软件错误 280
12.2.2 错误处理和异常 280
12.2.3 引发异常 280
12.2.4 声明异常 281
12.2.5 声明与截获 281
12.2.6 使用try语句 281
12.2.7 截获异常 282
12.2.8 嵌套的异常处理 285
12.2.9 NestedExceptionTest分析 289
12.3 结束语 290
第十三章 ActiveX 291
13.1 什么是ActiveX? 292
13.1.1 ActiveX Internet模型 292
13.1.2 ActiveX控件 292
13.1.3 ActiveX原稿 293
13.1.4 HFML中的ActiveX对象 293
13.2 ActiveX和OLE 294
13.3 ActiveX与Java 294
13.4 ActiveX和COM 295
13.4.1 为什么要有COM 295
13.4.2 为什么要使用ActiveX COM对象 296
13.5 ActiveX COM对象及Java 297
13.5.1 在Java applet中使用ActiveX COM对象 297
13.5.2 用Java创建ActiveX COM对象 297
13.6 结束语 298
第十四章 Visual J+++在电子地图中的应用 299
14.1 浏览器启动类 300
14.2 窗口布局类 304
14.2.1 用对话框进行布局 305
14.2.2 将Java资源文件转化为Java源程序 306
14.2.3 修改由Java Applet Wizard生成的1ava源程序 307
14.3 菜单类 314
14.3.1 使用资源编辑器编辑菜单资源文件 314
14.3.2 使用Java Resource Wizard生成Java源文件 316
14.4 地图窗口类 320
14.4.1 地图窗口类的任务及工作原理 320
14.4.2 地图窗口类的变量 321
14.4.3 地图窗口类操作方法的功能定义 321
14.4.4 地图窗口类的方法实现 322
14.5 地图模型大类 331
14.5.1 地图头类 332
14.5.2 多边形类 332
14.5.3 多边形弧段索引类 333
14.5.4 线状要素类 333
14.5.5 弧段类 334
14.5.6 弧段点类 334
14.5.7 注记类 334
14.5.8 地图模型类概述 335
14.5.9 地图模型类的读地图头方法 336
14.5.10 地图模型类的读多边形方法 338
14.5.11 地图模型类的多边形绘图方法 341
14.5.12 DOS/Windows环境二进制文件读取中数据高低位反向问题及处理 344
14.5.13 实例程序执行效果 345
14.6 结束语 348
附录 349
附录1 实例用到的试验数据文件 349
附录2 DialogLayout类的源程序 351
附录3 MapModel类中未列出方法的源程序清单 355
附录4 EagleEyeWin类的源程序清单 361
附录5 TableWin类的源程序清单 362
附录6 TableMenu类的源程序清单 364