1.1 Java的发展历程 1
1.1.1 Java的孕育(1990—1994) 1
第1章 Java概述 1
1.1.2 Java的诞生(1995) 2
1.1.3 Java大发展(1996) 2
1.1.4 Java 2平台发布(1998) 3
1.1.5 JCP成立并正式运作(1998) 3
1.1.6 Java 5发布(2004) 3
1.1.7 Java在程序员心目中的地位 4
1.2 Java语言的特点 5
1.3 Java的版本 6
1.4 JDK的组成和Java环境构建 6
1.4.1 JDK组成 6
1.4.2 Java环境构建 7
1.4.3 两种Java程序 8
1.5.1 第一个Application程序 9
1.5 程序实例——Hello World 9
1.5.2 第一个Applet程序 11
1.5.3 Java工作原理 11
1.5.4 技术要点 12
1.6 本章小结 13
1.7 上机实训 14
1.8 习题 14
第2章 Java编程基础 15
2.1 数据类型 15
2.1.1 四种基本类型 15
2.1.2 Java的常量 17
2.1.3 Java的变量 17
2.2 运算符和表达式 19
2.3 Java语言的控制语句 23
2.3.1 分支结构 23
2.3.2 循环结构 25
2.4 数组 28
2.3.3 跳转语句 28
2.4.1 一维数组 29
2.4.2 二维数组 31
2.5 Java面向对象编程 33
2.5.1 概述 33
2.5.2 对象 33
2.5.3 类 33
2.5.4 消息 35
2.5.5 继承与封装 35
2.5.6 接口 36
2.5.7 Java中的包 36
2.6 本章小结 38
2.7 上机实训 38
2.8 习题 39
3.2 模块设计 42
3.2.1 服务器端功能 42
3.1 概述 42
第3章 HappyChat聊天系统说明 42
3.2.2 客户端功能 43
3.3 流程设计 43
3.4 界面设计 44
3.5 Java常用开发工具 45
3.5.1 UltraEdit 46
3.5.2 EditPlus 46
3.5.3 Eclipse 47
3.5.4 JCreator 48
3.6 Java帮助的使用 50
3.6.1 直接查看Java帮助文件 50
3.6.2 在JCreator中查看JDK帮助 51
3.6.3 Java中文API 52
3.7 本章小结 52
3.8 上机实训 53
3.9 习题 53
第4章 HappyChat用户登录界面设计 54
4.1 HappyChat登录界面分析 54
4.2.1 AWT 56
4.2 AWT和Swing 56
4.2.2 Swing 58
4.2.3 SWT 59
4.3 JFrame类 60
4.3.1 从JFrame类继承得到Frame对象 61
4.3.2 通过JFrame类构造Frame对象 62
4.4.1 概述 63
4.4.2 程序实例 63
4.4 JPanel类 63
4.5 JLabel、JTextField、JPasswordField和JButton 66
4.5.1 JLabel类 66
4.5.2 JTextField类 68
4.5.3 JPasswordFiled类 68
4.5.4 JButton类 70
4.5.5 BorderFactory类 72
4.6 HappyChat登录界面 74
4.6.1 HappyChat登录界面源代码 74
4.6.2 技术要点 76
4.8 上机实训 77
4.7 本章小结 77
4.9 习题 78
第5章 HappyChat的Web实现 80
5.1 Applet概述 80
5.1.1 JApplet类和Applet类 80
5.1.2 Applet相关的标记 83
5.1.3 Applet应用实例 83
5.2.1 概述 85
5.2 Graphics类 85
5.2.2 Graphics应用实例 86
5.3 Application和Applet 87
5.3.1 从Application转换到Applet 87
5.3.2 Applet和Application并存 90
5.4 Applet中使用多媒体元素 90
5.4.1 Applet中显示图像 90
5.4.2 Applet中播放声音 92
5.4.3 Java中策略文件 93
5.6 上机实训 95
5.5 本章小结 95
5.7 习题 96
第6章 HappyChat组件布局和异常处理 97
6.1 概述 97
6.2 FlowLayout类 98
6.2.1 流布局概述 98
6.2.2 流布局应用实例 98
6.3.1 网格布局概述 99
6.3 GridLayout类 99
6.3.2 网格布局应用实例 100
6.4 BorderLayout类 101
6.4.1 边界布局概述 101
6.4.2 边界布局应用实例 101
6.5 CardLayout类 103
6.5.1 卡片布局概述 103
6.5.2 卡片布局应用实例 103
6.6 BoxLayout类 104
6.7 GridBagLayout类 105
6.7.1 网格袋布局概述 105
6.7.2 网格袋布局应用实例 106
6.8 自定义布局管理器 108
6.9 HappyChat登录界面组件布局 110
6.10 异常处理 112
6.10.1 Exception类 112
6.10.2 捕获异常的机制 113
6.10.3 用户自定义异常 117
6.10.4 异常处理 118
6.11 本章小结 120
6.12 上机实训 120
6.13 习题 121
第7章 HappyChat用户登录程序事件处理 123
7.1 HappyChat用户登录程序事件处理分析 123
7.3 委派事件模型 124
7.2.3 事件处理程序 124
7.2.2 事件源 124
7.2 事件的组成 124
7.2.1 事件对象 124
7.4 事件处理程序的编写 126
7.4.1 事件类型 126
7.4.2 事件监听类 126
7.4.3 各类事件应用实例 128
7.4.4 独立事件类 136
7.5 HappyChat登录程序事件处理 142
7.6 本章小结 143
7.7 上机实训 144
7.8 习题 144
第8章 HappyChat用户注册程序 146
8.1 HappyChat注册程序分析 146
8.1.1 界面分析 146
8.2 JComboBox、JCheckBox和JRadioButton 148
8.2.1 JComboBox类 148
8.1.2 程序逻辑分析 148
8.2.2 JCheckBox类 150
8.2.3 JRadioButton类 153
8.2.4 组件综合应用实例 155
8.3 JOptionPane类 157
8.3.1 概述 157
8.3.2 对话框程序应用实例 158
8.4.1 【注册】按钮处理 161
8.4 注册逻辑实现 161
8.4.2 【返回】按钮处理 162
8.4.3 【清空】按钮处理 162
8.5 本章小结 163
8.6 上机实训 163
8.7 习题 163
第9章 HappyChat用户聊天程序 165
9.1 HappyChat聊天程序分析 165
9.1.1 界面分析 165
9.2 菜单的使用 167
9.1.2 程序逻辑分析 167
9.2.1 JMenuBar类 168
9.2.2 JMenu类 168
9.2.3 JMenuItem类 169
9.2.4 菜单应用实例 169
9.2.5 JPopupMenu类 171
9.3 JToolBar类 173
9.3.1 概述 173
9.3.2 JToolBar应用实例 174
9.4 多行文本框的使用 176
9.4.1 JTextArea类 176
9.4.2 JScrollPane类 177
9.5 列表框的使用 179
9.5.1 JList类和List类 179
9.5.2 JList应用实例 179
9.6 JTable类 181
9.6.1 JTable概述 181
9.6.3 表格应用实例 183
9.6.2 AbstractTableModel类 183
9.7 聊天逻辑实现 185
9.7.1 事件监听程序 185
9.7.2 【清空】按钮处理 186
9.7.3 【保存】按钮处理 186
9.7.4 双击【在线用户】列表处理 186
9.8 本章小结 187
9.9 上机实训 187
9.10 习题 188
第10章 HappyChat文件应用 189
10.1 HappyChat文件应用分析 189
10.2 Java输入/输出 190
10.2.1 Java输入/输出概述 190
10.2.2 Java I/O类层次结构 191
10.3 File类 192
10.3.1 File类概述 192
10.3.2 JFileChooser类 193
10.3.3 File类应用实例 194
10.4 RandomAccessFile类 196
10.4.1 RandomAccessFile类概述 196
10.4.2 RandomAccessFile类应用实例 197
10.5 字节流类 199
10.5.1 字节流概述 199
10.5.2 字节流应用实例 201
10.6 字符流类 202
10.6.1 字符流类概述 202
10.6.2 字符流类应用实例 203
10.7 标准输入/输出 204
10.7.1 标准输入/输出概述 204
10.7.2 标准输入/输出实例 204
10.8 对象的序列化 205
10.9 本章小结 208
10.10 上机实训 209
10.11 习题 209
11.1 HappyChat线程技术应用分析 211
第11章 HappyChat线程技术应用 211
11.2 线程概述 212
11.2.1 线程与多线程 212
11.2.2 线程与进程的区别 213
11.3 创建和启动线程 213
11.3.1 Thread类 213
11.3.2 Runnable接口 216
11.4 线程的状态 219
11.5 调度线程 223
11.6 线程的同步与死锁 224
11.7 本章小结 226
11.8 上机实训 227
11.9 习题 227
第12章 HappyChat网络功能应用 228
12.1 HappyChat网络功能应用分析 228
12.2 网络编程基础 229
12.2.1 C/S模式和B/S模式 229
12.2.3 URL和IP地址 230
12.2.2 TCP/IP协议 230
12.3 使用URL方式进行网络连接 233
12.4 基于连接的流式套接字通信 235
12.4.1 Socket概述 235
12.4.2 Socket类和ServerSocket类 236
12.4.3 基于Socket的C/S程序 237
12.4.4 Server和一个客户的对话 238
12.4.5 Server和多个客户的对话 241
12.5 基于无连接的数据报通信 243
12.5.1 数据报通信概述 243
12.5.2 聊天吧的实现 244
12.6 本章小结 248
12.7 上机实训 248
12.8 习题 249
第13章 HappyChat数据库管理应用 250
13.1 HappyChat数据库管理应用分析 250
13.2.1 JDBC概述 251
13.2 JDBC基础 251
13.2.2 使用JDBC与数据库建立连接 252
13.2.3 SQL Server 2000 Driver for JDBC驱动程序 254
13.3 JDBC的查询发送机制 255
13.3.1 Statement接口 255
13.3.2 PreparedStatement接口 256
13.3.3 CallableStatement接口 257
13.3.4 DatabaseMetaData接口 258
13.4 应用实例 260
13.4.1 建立数据库 261
13.4.2 插入、修改和删除操作 262
13.4.3 查询数据库 265
13.5 本章小结 270
13.6 上机实训 271
13.7 习题 271
附录A 面向对象技术 273
附录B Java编码规范 277
参考文献 283