第1篇 Java基础 2
第1章 Java概述 2
1.1 Java简介 3
1.1.1 Java发展历史 3
1.1.2 Java的版本 4
1.1.3 Java应用领域 5
1.1.4 Java项目成功案例 5
1.1.5怎样学好Java 6
1.2环境搭建 6
1.2.1 JDK下载 6
1.2.2 JDK安装 7
1.2.3配置环境变量 8
1.3编写第一个Java程序 10
1.4实战 12
1.4.1编程输出星号组成的等腰三角形 12
1.4.2把JDK工具包安装到指定磁盘 13
1.4.3提取Path变量值创建新环境变量 13
1.4.4输出字符表情 13
1.5本章小结 14
1.6学习成果检验 14
第2章 装备Java IDE开发工具 15
2.1 Eclipse简介 16
2.2 Eclipse下载与安装 16
2.2.1下载Eclipse 16
2.2.2安装中文语言包 17
2.2.3启动Eclipse 18
2.3熟悉Eclipse 19
2.3.1 Eclipse工作台 19
2.3.2透视图与视图 19
2.3.3包资源管理器视图 20
2.3.4编辑器视图 20
2.3.5控制台视图 21
2.3.6大纲视图 21
2.3.7问题视图 21
2.3.8透视图工具栏 21
2.3.9视图工具栏 22
2.3.10快速视图工具栏 22
2.4开发Java程序 22
2.4.1新建Java项目 22
2.4.2新建Java类 22
2.4.3编写Java代码 23
2.4.4运行Java程序 24
2.5开发桌面应用程序 25
2.5.1新建Swing GUI窗体 25
2.5.2向窗体添加GUI组件 25
2.5.3实现组件的事件监听器 27
2.5.4运行GUI程序 27
2.6为项目添加类库的常用方法 28
2.6.1添加JAR 28
2.6.2创建用户库 29
2.6.3添加库 29
2.6.4添加依赖项目 30
2.7程序调试 31
2.7.1设置断点 31
2.7.2以调试方式运行Java程序 31
2.7.3程序调试 31
2.8实战 32
2.8.1活用Eclipse工作空间 32
2.8.2添加JAR文件到构建路径 32
2.8.3在Eclipse项目中编程输出字符表情 32
2.9本章小结 33
2.10学习成果检验 33
第3章 Java语言基础 34
3.1 Java主类结构 35
3.1.1定义类包 35
3.1.2定义类 35
3.1.3导入API类库 35
3.1.4定义变量 36
3.1.5定义主方法 36
3.1.6运行主类 36
3.2代码注释 36
3.2.1单行注释 36
3.2.2多行注释 37
3.2.3 JavaDoc文档注释 37
3.3变量与常量 37
3.3.1Java保留字 38
3.3.2定义变量 38
3.3.3定义常量 39
3.3.4常量与变量的有效范围 39
3.4数据类型 40
3.4.1计算机常用数制 41
3.4.2整数类型 42
3.4.3浮点类型 43
3.4.4字符类型 44
3.4.5布尔类型 45
3.5数据类型转换 45
3.5.1自动类型转换 45
3.5.2强制类型转换 47
3.6运算符 48
3.6.1赋值运算符 48
3.6.2算术运算符 49
3.6.3自增和自减运算符 50
3.6.4比较运算符 51
3.6.5逻辑运算符 51
3.6.6位运算符 52
3.6.7三元运算符 54
3.6.8运算符优先级 54
3.7编码规范 55
3.8实战 56
3.8.1类型转换实战 56
3.8.2运算符的应用 56
3.8.3求最大值 57
3.8.4输出长方形的面积 57
3.8.5输出圆形的面积 58
3.8.6输出字节bit位的值 58
3.9本章小结 59
3.10学习成果检验 59
第4章 流程控制语句 60
4.1复合语句 61
4.2条件语句 61
4.2.1 if条件判断语句 61
4.2.2 if语句的嵌套 65
4.2.3 switch分支语句 66
4.2.4 if语句和switch语句的区别 69
4.3循环语句 69
4.3.1 for循环 69
4.3.2 while循环 71
4.3.3 do…while循环 72
4.3.4循环嵌套 73
4.4循环的跳转 75
4.4.1 continue跳转语句 75
4.4.2 break跳转语句 76
4.5实战 78
4.5.1计算阶乘 78
4.5.2计算素数 78
4.5.3遍历21世纪的闰年 79
4.5.4应用switch语句实现生肖查询 80
4.5.5验证用户登录信息 81
4.6本章小结 82
4.7学习成果检验 82
第5章 数组 83
5.1一维数组 84
5.1.1创建一维数组 84
5.1.2初始化一维数组 85
5.1.3遍历一维数组 85
5.2二维数组 86
5.2.1创建二维数组 86
5.2.2初始化二维数组 87
5.2.3遍历二维数组 87
5.3多维数组 88
5.3.1创建多维数组 88
5.3.2初始化多维数组 88
5.3.3遍历三维数组 89
5.4 foreach循环遍历数组 90
5.5实战 91
5.5.1填充替换数组元素 91
5.5.2对数组进行排序 92
5.5.3复制数组 93
5.5.4冒泡排序法 95
5.5.5直接选择排序法 96
5.6本章小结 97
5.7学习成果检验 97
第6章 综合实例(一)——拼图游戏 98
6.1游戏概述 99
6.2开发思路 99
6.3关键技术 99
6.4实现过程 100
6.5本章小结 106
6.6学习成果检验 106
第2篇 面向对象编程 108
第7章 面向对象 108
7.1类的定义 109
7.2包 109
7.2.1类包简介 109
7.2.2定义类的包 109
7.2.3类包的导入 110
7.2.4静态导入 111
7.3成员变量与成员方法 111
7.3.1成员变量 112
7.3.2成员方法 112
7.3.3方法返回值 113
7.4对象的创建与使用 114
7.4.1创建类的对象 114
7.4.2访问对象的属性 115
7.4.3执行对象的行为 115
7.4.4对象的销毁 116
7.5类成员与类方法 116
7.5.1类变量 116
7.5.2类方法 117
7.6方法的重载 119
7.7 this关键字 121
7.8构造方法与静态代码块 122
7.8.1构造方法 122
7.8.2静态代码块 125
7.9实战 126
7.9.1为方法传递对象参数和基本数据类型参数 126
7.9.2定义图书类 128
7.9.3整数进制转换器 129
7.9.4获取数字类型的取值范围 130
7.9.5用构造方法完成初始化 131
7.10本章小结 132
7.11学习成果检验 132
第8章 字符串处理 133
8.1如何使用字符串 134
8.1.1创建字符串 134
8.1.2连接字符串 134
8.2判断字符串是否相等 135
8.3字符串比较 137
8.4 String类的常用方法 137
8.4.1 length()方法 137
8.4.2 indexOf()与lastIndexOf()方法 138
8.4.3 charAt()方法 139
8.4.4 trim()方法 139
8.4.5 substring()方法 140
8.4.6 split()方法 141
8.4.7 replace()方法 142
8.4.8 toLowerCase()与toUpperCase()方法 143
8.4.9 startsWith()与endsWith()方法 144
8.5实战 145
8.5.1查找字符串 145
8.5.2反转字符串 145
8.5.3获取子字符串 146
8.5.4字符串替换 146
8.5.5字符串分割 147
8.6本章小结 148
8.7学习成果检验 148
第9章 类的继承与多态特性 149
9.1类的继承 150
9.2方法的重写与super关键字 152
9.3修饰符 154
9.3.1 public修饰符 154
9.3.2 private修饰符 154
9.3.3 protected修饰符 155
9.3.4默认权限修饰符 156
9.4封装 157
9.4.1把属性隐藏 157
9.4.2定义设置器 157
9.4.3定义访问器 157
9.4.4使用Eclipse完成封装 158
9.5 Object类 160
9.5.1 equals()方法 160
9.5.2 toString()方法 161
9.6 instanceOf判断类型 162
9.7多态 164
9.7.1多态数组 165
9.7.2参数多态 167
9.8抽象类与接口 170
9.8.1抽象类 170
9.8.2接口 171
9.9实战 174
9.9.1实现单例模式 174
9.9.2重写equals()方法 176
9.9.3简单的汽车销售商场 177
9.9.4重新定义对象的等式判断 178
9.9.5重新计算对象的哈希码 180
9.10本章小结 181
9.11学习成果检验 181
第10章 其他类特性与异常处理 182
10.1 final特性 183
10.1.1 final变量 183
10.1.2 final方法 183
10.1.3 final类 184
10.2内部类 184
10.2.1成员内部类 185
10.2.2获取外部类的引用 186
10.2.3局部内部类 187
10.2.4匿名内部类 187
10.2.5静态内部类 188
10.3异常处理 189
10.3.1什么是异常 189
10.3.2捕获异常 189
10.4抛出异常 191
10.4.1向上抛出异常 191
10.4.2使用throws关键字抛出异常 191
10.5运行时异常 193
10.6异常的使用原则 193
10.7实战 194
10.7.1计算矩形周长 194
10.7.2自定义异常 194
10.7.3使用局部内部类实现闹钟 196
10.7.4演示类未发现异常 197
10.7.5自定义异常类 197
10.8本章小结 198
10.9学习成果检验 198
第11章 Swing程序设计基础 199
11.1 JFrame窗体 200
11.2常用布局管理器 202
11.2.1绝对布局管理器 202
11.2.2流布局管理器(FlowLayout) 203
11.2.3边界布局管理器(BorderLayout) 204
11.2.4网格布局管理器(GridLayout) 205
11.3常用面板 207
11.3.1 JPanel面板 207
11.3.2 JScrollPane面板 208
11.4标签组件与图标 209
11.4.1标签的使用 209
11.4.2图标的使用 209
11.5按钮组件 210
11.5.1普通按钮组件(JButton) 210
11.5.2单选按钮组件(JRadioButton) 212
11.5.3复选框组件(JCheckBox) 213
11.6文本组件 214
11.6.1文本框组件(JTextField) 214
11.6.2密码框组件(JPasswordField) 215
11.6.3文本域组件(JTextArea) 216
11.7列表组件 217
11.7.1下拉列表框组件(JComboBox) 217
11.7.2列表框组件(JList) 219
11.8进度条 221
11.9实战 222
11.9.1设置窗体背景颜色为谈蓝色 222
11.9.2震动效果的提示信息 223
11.9.3实现计算器程序界面 224
11.9.4修改密码框的回显字符 225
11.9.5查看图标的信息 225
11.10本章小结 226
11.11学习成果检验 226
第12章 综合实例(二)——电子计算器 227
12.1电子计算器的概述 228
12.2开发思路 228
12.3关键技术 228
12.4实现过程 229
12.5本章小结 234
12.6学习成果检验 234
第3篇 编程技术 236
第13章 使用线程实现多任务 236
13.1线程基础 237
13.1.1多线程简介 237
13.1.2线程的生命周期 237
13.1.3认识main线程 238
13.1.4继承Thread类建立多线程 239
13.1.5实现Runnable接口创建多线程 240
13.2线程控制 242
13.2.1 线程的休眠 242
13.2.2线程的停止 244
13.2.3线程的调度 246
13.2.4设置线程的优先级 250
13.3线程同步 251
13.3.1线程安全 251
13.3.2线程同步机制 253
13.4在Swing中使用线程 256
13.4.1在Swing线程中执行业务处理 256
13.4.2在其他线程中执行业务处理 258
13.5实战 260
13.5.1同时移动多个组件 260
13.5.2实现圆周运动 262
13.5.3多彩的霓虹灯 264
13.5.4电子广告牌 265
13.5.5查看线程的运行状态 265
13.6本章小结 266
13.7学习成果检验 267
第14章 GUI事件处理 268
14.1什么是GUI事件 269
14.1.1为程序添加交互能力 269
14.1.2 GUI事件相关类 270
14.1.3事件监听器 271
14.1.4适配器 272
14.2窗体事件 273
14.3鼠标操作 275
14.3.1鼠标事件监听器 275
14.3.2鼠标事件处理 275
14.4键盘控制 277
14.4.1键盘事件监听器 278
14.4.2键盘事件处理 279
14.5实战 282
14.5.1简易配对游戏 282
14.5.2用方向键移动背景 284
14.5.3简易打地鼠游戏 286
14.5.4迟到的登录按钮 288
14.5.5鼠标经过时按钮放大效果 289
14.6本章小结 291
14.7学习成果检验 291
第15章 编程常用类 292
15.1日期时间类 293
15.1.1创建Date类的对象 293
15.1.2比较Date对象 293
15.1.3更改Date对象 295
15.1.4日期和时间的格式化输出 295
15.2数学运算 298
15.2.1 Math类 298
15.2.2 Math类的数学方法 298
15.3随机数 302
15.3.1通过Math类生成随机数 302
15.3.2使用Random类生成随机数 303
15.4数字格式化类 304
15.4.1 DecimalFormat类 304
15.4.2数字的格式化输出 305
15.5实战 307
15.5.1随机抽奖 307
15.5.2格式化输出数字 310
15.5.3数字电子表 313
15.5.4七星彩号码生成器 315
15.5.5简单的数字时钟 316
15.6本章小结 317
15.7学习成果检验 317
第16章 使用集合类保存对象 318
16.1集合类的概述 319
16.1.1集合类 319
16.1.2 Java集合类的继承关系 319
16.2 List集合 319
16.2.1 List接口 319
16.2.2 ArrayList类 321
16.3 Set集合 322
16.3.1 Set接口 322
16.3.2 HashSet类 323
16.4 Map集合 325
16.4.1 Map接口 325
16.4.2 HashMap类 326
16.4.3 TreeMap类 327
16.5实战 329
16.5.1使用集合创建单选按钮组 329
16.5.2使用集合类保存数据 331
16.5.3动态数组保存学生姓名 331
16.5.4 List集合传递学生信息 332
16.5.5制作手机电话簿 333
16.6本章小结 334
16.7学习成果检验 334
第17章 数据库编程 335
17.1 JDBC技术 336
17.1.1数据库的概述 336
17.1.2 JDBC-ODBC技术介绍 337
17.1.3 JDBC技术 337
17.2 JDBC中常用的类和接口 338
17.2.1 DriverManager类 338
17.2.2 Connection接口 338
17.2.3 Statement接口 339
17.2.4 PreparedStatement接口 339
17.2.5 ResultSet接口 340
17.3数据库连接 341
17.3.1加载数据库驱动 341
17.3.2创建数据库连接 342
17.3.3向数据库发送SQL语句 345
17.3.4获取查询结果集 345
17.3.5关闭连接 346
17.4数据库操作 346
17.4.1添加数据 346
17.4.2删除数据 347
17.4.3修改数据 348
17.4.4查询数据 349
17.4.5使用预编译语句 350
17.4.6模糊查询 352
17.5实战 353
17.5.1英汉小词典 353
17.5.2系统登录 356
17.5.3库存管理 358
17.5.4查询商品销售的前3名 362
17.5.5查询编程词典6月的销售量 364
17.6本章小结 365
17.7学习成果检验 365
第18章 数据的输入/输出处理 366
18.1 File类 367
18.1.1创建File类 367
18.1.2常用方法 367
18.2字节输入/输出流 369
18.2.1 InputStream类 369
18.2.2 OutputStream类 370
18.2.3 FileInputStream类 371
18.2.4 FileOutputStream类 372
18.2.5 BufferedInputStream类 372
18.2.6 BufferedOutputStream类 373
18.2.7 DataInputStream类 374
18.2.8 DataOutputStream类 375
18.3字符输入/输出流 376
18.3.1 Reader类 376
18.3.2 Writer类 377
18.3.3 FileReader类 378
18.3.4 FileWriter类 378
18.3.5 Scanner类 380
18.3.6 PrintWriter类 380
18.4 StringBuilder类 381
18.4.1 StringBuilder与StringBuffer 382
18.4.2常用方法 383
18.5 JDK7新增的文件操作 383
18.5.1创建文件 383
18.5.2删除文件 384
18.5.3复制文件 385
18.5.4移动文件 385
18.6实战 386
18.6.1复制文件 386
18.6.2复制文件夹 387
18.6.3删除文件 388
18.6.4重命名文件 388
18.6.5计数器 389
18.7本章小结 390
18.8学习成果检验 390
第19章 网络程序设计 391
19.1网络基础 392
19.1.1 TCP/IP协议 392
19.1.2 TCP与UDP协议 392
19.1.3端口和套接字 393
19.2 TCP通信 393
19.2.1 InetAddress类 394
19.2.2 ServerSocket类 395
19.2.3 Socket类 397
19.3 UDP通信 399
19.3.1 DatagramSocket类 400
19.3.2 DatagramPacket类 400
19.4实战 402
19.4.1 TCP单向通信 402
19.4.2 UDP实现广播数据报 404
19.4.3迷你聊天屋 407
19.4.4使用Socket传输图片 410
19.4.5获取URL的端口 411
19.5本章小结 412
19.6学习成果检验 412
第20章 综合实例(三)——通讯录管理模块 413
20.1通讯录管理模块概述 414
20.1.1模块概述 414
20.1.2功能结构 414
20.1.3程序预览 414
20.2关键技术 415
20.2.1微调分隔条位置刷新分割面板 415
20.2.2使列表框显示按钮外观的列表项 416
20.2.3在数据表的datetime列存取日期 417
20.2.4在数据表的image列存取照片 418
20.3主窗体 419
20.3.1主窗体的功能概述 419
20.3.2窗体设计 420
20.3.3居中显示窗体 420
20.3.4初始化主窗体的显示信息 421
20.4实现添加联系人信息 421
20.4.1添加联系人信息的功能概述 421
20.4.2实现选择照片 422
20.4.3实现保存联系人信息 422
20.5实现查询和编辑联系人信息 424
20.5.1查询和编辑联系人信息的功能概述 424
20.5.2查询联系人信息 424
20.5.3实现显示全部联系人信息 426
20.5.4实现选择照片 427
20.5.5实现修改联系人信息 428
20.5.6实现删除联系人信息 429
20.6实现添加分类名称 429
20.6.1添加分类名称功能概述 429
20.6.2实现添加分类名称 430
20.6.3实现更新分类名称列表 431
20.7本章小结 432
第4篇 高级编程 434
第21章 Swing高级组件 434
21.1文件选择对话框 435
21.1.1创建文件选择对话框 435
21.1.2添加文件过滤器 437
21.2工具栏 439
21.2.1创建工具栏 439
21.2.2添加工具按钮 439
21.3菜单栏与弹出菜单 441
21.3.1创建菜单栏 441
21.3.2添加菜单和菜单项 442
21.3.3创建弹出菜单 444
21.4分割面板 446
21.4.1创建分割面板 447
21.4.2使用分割面板 447
21.5选项卡面板 449
21.5.1创建选项卡面板 449
21.5.2使用选项卡面板 450
21.6桌面面板和内部窗体 452
21.6.1创建桌面面板 452
21.6.2创建内部窗体 453
21.7使用系统托盘 456
21.7.1获取系统托盘 456
21.7.2为系统托盘添加图标 457
21.7.3添加弹出菜单 458
21.8实战 460
21.8.1打开文本文件 460
21.8.2浏览图片 463
21.8.3模仿记事本的菜单栏 465
21.8.4在弹出菜单中显示图片 466
21.8.5在工具栏中增加图标 467
21.9本章小结 468
21.10学习成果检验 468
第22章 使用表格组件 469
22.1表格的创建 470
22.1.1创建表格 470
22.1.2定制表格 472
22.2维护表格模型 476
22.2.1创建表格模型 477
22.2.2设置表格模型 477
22.2.3维护模型对象 479
22.3创建行标题栏 483
22.4模型的事件监听与处理 486
22.5实战 491
22.5.1对表格进行维护 491
22.5.2分页显示100以内的平方数 494
22.5.3五光十色的单元格 497
22.5.4实现表格的栅栏效果 498
22.5.5根据颜色的分量进行排序 499
22.6本章小结 500
22.7学习成果检验 500
第23章 使用树组件 501
23.1创建树组件 502
23.2维护树模型 504
23.2.1创建模型对象 505
23.2.2设置树组件的模型 506
23.2.3维护树的模型 510
23.3定制树的样式 513
23.4树的事件处理 523
23.4.1选中节点事件 523
23.4.2节点展开与收缩事件 526
23.5实战 528
23.5.1维护树模型实例 528
23.5.2增加图书节点 533
23.5.3删除图书节点 534
23.5.4查询图书节点 535
23.5.5为树节点增加提示信息 536
23.6本章小结 537
23.7学习成果检验 537
第24章 Java绘图技术 538
24.1 Graphics简介 539
24.1.1 Graphics 539
24.1.2 Graphics2D 539
24.1.3获得组件的Graphics2D对象 539
24.2设置颜色与笔画 540
24.2.1设置颜色 540
24.2.2笔画属性 541
24.3如何绘制文本 542
24.3.1设置字体 542
24.3.2绘制文本 543
24.4在组件上绘图 545
24.5绘制图形 547
24.6绘制图像 550
24.7实战 551
24.7.1图像灵活缩放 551
24.7.2把图像翻转一下 553
24.7.3给图像换个角度 555
24.7.4使图像倾斜 556
24.7.5纹理填充特效 557
24.8本章小结 558
24.9学习成果检验 558
第25章 综合实例(四)——相片管理模块 559
25.1照片管理模块的概述 560
25.1.1模块概述 560
25.1.2功能结构 560
25.1.3程序预览 560
25.2关键技术 561
25.2.1监听树节点选中事件 561
25.2.2监听树节点展开事件 562
25.2.3通过替换面板修改显示方式 563
25.2.4使用组合键选择照片 565
25.2.5使用ComponentListener监听器防止内存溢出 567
25.3数据库设计 568
25.3.1数据表设计 568
25.3.2编写JDBC工具类 568
25.4相册树 572
25.4.1功能概述 572
25.4.2添加相册 572
25.4.3修改相册 572
25.4.4删除相册 573
25.5相片管理 574
25.5.1功能概述 574
25.5.2添加照片 574
25.5.3修改照片信息 575
25.5.4删除照片 576
25.5.5搜索照片 577
25.5.6保存照片 580
25.6照片显示 581
25.6.1功能概述 581
25.6.2全屏显示照片 581
25.6.3照片播放器 582
25.7本章小结 584
第5篇 项目实战 586
第26章 进销存管理系统 586
26.1项目描述 587
26.2系统分析 587
26.2.1需求分析 587
26.2.2可行性分析 588
26.3系统设计 589
26.3.1系统目标 589
26.3.2系统功能结构 589
26.3.3系统业务流程图 589
26.3.4系统编码规范 590
26.4系统运行环境 592
26.5数据库与数据表设计 592
26.5.1数据库分析 592
26.5.2创建数据库 592
26.5.3创建数据表 594
26.6创建项目 597
26.7系统文件夹组织结构 597
26.8公共类设计 598
26.8.1 SaveUserInfo公共类 598
26.8.2 OnlyNumber公共类 598
26.8.3 DaoConn公共类 599
26.9系统登录模块设计 599
26.9.1设计“系统登录”窗体 599
26.9.2“登录”按钮的事件处理 600
26.9.3“密码”文本框的回车事件 601
26.10主窗体模块设计 601
26.10.1创建系统主窗体 601
26.10.2设计菜单栏 602
26.10.3设计工具栏 602
26.10.4设计导航按钮 602
26.10.5设计状态栏 602
26.10.6设计显示背景图片的面板 603
26.11供应商基本信息管理模块 605
26.11.1设计“供应商基本信息管理”窗体 605
26.11.2添加供应商信息 606
26.11.3修改供应商信息 607
26.11.4删除供应商信息 610
26.12订购商品信息管理模块设计 611
26.12.1设计“订购商品信息”窗体 611
26.12.2订购商品信息 612
26.13采购入库管理模块设计 614
26.13.1设计“采购入库管理”窗体 615
26.13.2采购入库管理 615
26.14入库信息查询模块设计 618
26.14.1设计“入库信息查询”窗体 618
26.14.2入库信息查询 619
26.15 入库退货管理模块设计 621
26.15.1设计“入库退货管理”窗体 622
26.15.2设计“录入商品入库退货信息”窗体 622
26.15.3设计保存输入信息的类 623
26.16库存盘点窗体模块设计 627
26.16.1设计库存盘点窗体 627
26.16.2库存盘点 628
26.17库存调拨模块设计 629
26.17.1设计库存调拨窗体 629
26.17.2添加商品调拨信息 630
26.17.3查询商品调拨信息 632
26.18销售订单管理模块设计 633
26.18.1设计“销售订单管理”窗体 633
26.18.2销售订单管理 633
26.19销售出库管理模块设计 636
26.19.1设计“销售出库管理”窗体 636
26.19.2销售出库管理 637
26.20销售退货管理模块设计 642
26.20.1设计“销售退货管理”窗体 643
26.20.2设计“录入商品销售退货信息”窗体 644
26.20.3设计保存输入信息的类 644
26.21添加用户信息模块设计 649
26.21.1设计“添加用户信息”窗体 649
26.21.2添加用户信息 649
26.22用户设置窗体模块设计 651
26.22.1设计用户设置窗体 651
26.22.2修改用户密码 652
26.22.3设置用户权限 653
26.22.4删除用户信息 654
26.23经手人管理模块设计 655
26.23.1设计“经手人管理”窗体 655
26.23.2添加经手人 656
26.23.3设置经手人 657
26.24运行项目 658
26.25系统打包发行 659
26.26开发常见问题与解决 661
26.26.1不显示“系统登录”窗体 661
26.26.2运行程序时找不到数据库驱动 661
26.26.3运行程序时用户名或密码不正确 661
26.26.4运行程序时找不到数据库 662
26.26.5打包的JAR文件无法运行 662
26.26.6运行打包的JAR文件不出现闪屏界面 662
26.26.7打包的JAR文件找不到数据库驱动 662
26.26.8数据库只读 663
26.27本章小结 663
第27章 企业通信管理系统 664
27.1开发背景 665
27.2系统设计 665
27.2.1系统目标 665
27.2.2系统功能结构 665
27.2.3数据库设计 665
27.2.4文件夹组织结构 666
27.3主窗体设计 666
27.4公共模块设计 667
27.5系统托盘模块设计 667
27.6系统操作模块设计 667
27.7用户管理模块设计 668
27.8通信模块设计 669
27.9本章小结 669
附录 Java程序编码规范 670