《学通Java的24堂课》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:李钟尉,李伟等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302255413
  • 页数:728 页
图书介绍:本书从初中级用户的角度,科学合理的设计,通过24堂课全面讲述了Java程序开发必备知识和技能,突出学、练、用结合。

第1部分 基础篇 3

第1堂课 Java概述 3

1.1 Java简介 4

1.1.1 Java发展历史 4

1.1.2 Java的几个版本 5

1.1.3 Java应用领域 6

1.1.4 Java项目成功案例 6

1.1.5怎样学好Java 8

1.2环境搭建 8

1.2.1 JDK下载 8

1.2.2 JDK安装 10

1.2.3配置环境变量 11

1.3编写第一个Java程序 14

1.3.1在记事本中输入代码 14

1.3.2保存代码为源代码文件 15

1.3.3编译并运行Java文件 16

1.4照猫画虎——基本功训练 16

1.4.1基本功训练1——更换JAVA_HOME环境变量 16

1.4.2基本功训练2——提取Path变量值创建新环境变量 17

1.4.3基本功训练3——输出字符表情 17

1.4.4基本功训练4——输出“★”字符组成的三角形 18

1.5情景应用——拓展与实践 19

1.5.1情景应用1——计算两个整数的和 19

1.5.2情景应用2——输出当前日期 19

1.5.3情景应用3——在控制台接收用户输入数字 20

1.5.4情景应用4——计算用户输入数字的乘积 21

1.6自我测试 22

1.7行动指南 23

1.8成功可以复制——“盖茨第二” 23

第2堂课 使用IDE集成开发工具 25

2.1 Eclipse简介 26

2.2 Eclipse下载与安装 26

2.2.1 Eclipse分类 26

2.2.2下载Eclipse 26

2.2.3安装中文语言包 28

2.2.4启动Eclipse 29

2.3安装界面设计器 30

2.4熟悉Eclipse 32

2.4.1 Eclipse工作台 32

2.4.2透视图与视图 33

2.4.3包资源管理器视图 33

2.4.4编辑器视图 33

2.4.5控制台 34

2.4.6大纲视图 34

2.4.7问题视图 34

2.4.8透视图工具栏 35

2.4.9视图工具栏 35

2.4.10快速视图工具栏 35

2.5如何开发Java程序 35

2.5.1新建Java项目 36

2.5.2新建Java类 36

2.5.3编写Java代码 37

2.5.4运行Java程序 39

2.6如何开发桌面应用程序 39

2.6.1新建Swing GUI窗体 40

2.6.2向窗体中添加GUI控件 41

2.6.3实现控件的事件监听器 43

2.6.4运行GUI程序 43

2.7如何进行程序调试 43

2.7.1设置断点 44

2.7.2以调试方式运行Java程序 4

2.7.3程序调试 44

2.8了解项目类库 45

2.9照猫画虎——基本功训练 46

2.9.1基本功训练1——添加JAR文件到构建路径 46

2.9.2基本功训练2——添加依赖项目到构建路径 46

2.9.3基本功训练3——创建用户自定义类库 47

2.9.4基本功训练4——为项目添加类库 48

2.9.5基本功训练5——为项目添加类文件夹 49

2.10情景应用——拓展与实践 50

2.10.1情景应用1——为窗体添加文本框控件 50

2.10.2情景应用2——接收用户在控制台的输入 50

2.10.3情景应用3——编写一个信息提示窗体 51

2.10.4情景应用4——控制窗体位置 52

2.10.5情景应用5——编写UI界面的加法计算器 54

2.11自我测试 55

2.12行动指南 56

2.13成功可以复制——迅雷创始人邹胜龙 57

第3堂课 Java语言基础知识 59

3.1 Java主类结构 60

3.1.1定义类包 60

3.1.2定义类 60

3.1.3导入API类库 60

3.1.4定义变量 61

3.1.5定义主方法 61

3.1.6运行主类 61

3.2代码注释 61

3.2.1单行注释 61

3.2.2多行注释 61

3.2.3 JavaDoc文档注释 62

3.3变量与常量 62

3.3.1 Java保留字 62

3.3.2定义变量 63

3.3.3定义常量 64

3.3.4常量与变量的有效范围 64

3.4数据类型 65

3.4.1计算机常用数制 66

3.4.2整数类型 67

3.4.3浮点类型 69

3.4.4字符类型 69

3.4.5布尔类型 71

3.5数据类型转换 71

3.5.1自动类型转换 71

3.5.2强制类型转换 73

3.6运算符 74

3.6.1赋值运算符 74

3.6.2算术运算符 75

3.6.3自增和自减运算符 76

3.6.4比较运算符 76

3.6.5逻辑运算符 77

3.6.6位运算符 78

3.6.7三元运算符 80

3.6.8运算符优先级 81

3.7编码规范 81

3.8照猫画虎——基本功训练 82

3.8.1基本功训练1——合理设定变量类型 82

3.8.2基本功训练2——变量自增运算 83

3.8.3基本功训练3——类型转换 84

3.8.4基本功训练4——运算符的应用 84

3.8.5基本功训练5——求最大值 85

3.8.6基本功训练6——位移实现数字乘以2的8次幂 86

3.9情景应用——拓展与实践 86

3.9.1情景应用1——输出长方形面积 86

3.9.2情景应用2——输出字节bit位的值 87

3.9.3情景应用3——判断奇偶数 88

3.9.4情景应用4——简单数据加密 89

3.9.5情景应用5——判断闰年 89

3.9.6情景应用6——异或运算实现变量值交换 90

3.10自我测试 91

3.11行动指南 92

3.12成功可以复制——知识改变命运、科技改变生活 93

第4堂课 流程控制语句 95

4.1复合语句 96

4.2条件语句 96

4.2.1 if条件判断语句 97

4.2.2 if语句的嵌套 100

4.2.3 switch分支语句 101

4.2.4 if语句和switch语句的区别 105

4.3循环控制 105

4.3.1 for循环 105

4.3.2 while循环 107

4.3.3 do…while循环 109

4.3.4 print与println方法 110

4.3.5循环嵌套 111

4.4循环的跳转 112

4.4.1 continue跳转语句 112

4.4.2 break跳转语句 114

4.5照猫画虎——基本功训练 116

4.5.1基本功训练1——计算阶乘 116

4.5.2基本功训练2——计算素数 116

4.5.3基本功训练3——遍历21世纪的闰年 117

4.5.4基本功训练4——输出空心的菱形 118

4.5.5基本功训练5——循环的生命力 119

4.6情景应用——拓展与实践 120

4.6.1情景应用1——把用户输入的字母变成大写 120

4.6.2情景应用2——应用switch语句实现生肖查询 121

4.6.3情景应用3——验证用户登录信息 122

4.6.4情景应用4——判断用户输入月份的季节 123

4.6.5情景应用5——汉字与区位码的转换 124

4.7自我测试 126

4.8行动指南 128

4.9成功可以复制——中国通信设备行业的领跑者任正非 129

第5堂课 数组应用 131

5.1一维数组的创建与应用 132

5.1.1创建一维数组 132

5.1.2初始化一维数组 133

5.1.3遍历一维数组 133

5.2二维数组的创建与应用 134

5.2.1创建二维数组 134

5.2.2初始化二维数组 135

5.2.3遍历二维数组 135

5.3多维数组的创建 136

5.3.1数组的创建 136

5.3.2初始化数组 137

5.3.3遍历三维数组 137

5.4照猫画虎——基本功训练 139

5.4.1基本功训练1——填充替换数组元素 139

5.4.2基本功训练2——对数组进行排序 140

5.4.3基本功训练3——复制数组 141

5.4.4基本功训练4——Foreach循环遍历数组 142

5.4.5基本功训练5——找出数组中最大值 143

5.5情景应用——拓展与实践 144

5.5.1情景应用1——使用冒泡排序 144

5.5.2情景应用2——使用直接选择排序法 146

5.5.3情景应用3——使用快速排序法 147

5.5.4情景应用4——反转数组中元素的顺序 149

5.5.5情景应用5——利用数组随机抽取幸运观众 150

5.6自我测试 151

5.7行动指南 152

5.8成功可以复制——软件业的华人教父王嘉廉 153

第6堂课 面向对象编程 155

6.1类的定义 156

6.2包 156

6.2.1类包简介 156

6.2.2定义类的包 156

6.2.3类包的导入 158

6.2.4静态导入 158

6.3成员变量与成员方法 159

6.3.1成员变量 159

6.3.2成员方法 160

6.3.3方法的返回值 160

6.4对象的创建与使用 162

6.4.1创建类的对象 162

6.4.2访问对象的属性 162

6.4.3执行对象的行为 162

6.4.4对象的销毁 164

6.5类成员与类方法 164

6.5.1类变量 164

6.5.2类方法 165

6.6照猫画虎——基本功训练 167

6.6.1基本功训练1——用构造方法完成初始化 167

6.6.2基本功训练2——用静态代码块初始化 170

6.6.3基本功训练3——this关键字的用途 171

6.6.4基本功训练4——方法参数传递 172

6.6.5基本功训练5——方法的重载 174

6.7情景应用——拓展与实践 177

6.7.1情景应用1——整数进制转换器 177

6.7.2情景应用2——获取数字的取值范围 178

6.7.3情景应用3——ASCII编码查看器 179

6.7.4情景应用4——构造方法初始化员工对象 180

6.7.5情景应用5——将字符串转换成整数 182

6.8自我测试 183

6.9行动指南 185

6.10成功可以复制——创造互联网搜索时代 186

第7堂课 字符串处理 189

7.1 String类 190

7.1.1声明字符串 190

7.1.2构建字符串对象 190

7.2连接字符串 191

7.2.1连接多个字符串 191

7.2.2连接其他数据类型 191

7.3获取字符串信息 192

7.3.1获取字符串长度 192

7.3.2字符串查找 193

7.3.3获取指定索引位置的字符 194

7.4格式化字符串 194

7.4.1日期和时间字符串格式化 194

7.4.2常规类型格式化 197

7.5字符串生成器 198

7.6使用正则表达式 200

7.7照猫画虎——基本功训练 202

7.7.1基本功训练1——获取子字符串 202

7.7.2基本功训练2——字符串替换 203

7.7.3基本功训练3——判断字符串的开始与结尾 204

7.7.4基本功训练4——字母大小写转换 205

7.7.5基本功训练5——字符串分割 206

7.8情景应用——拓展与实践 207

7.8.1情景应用1——字符串数组排序 207

7.8.2情景应用2——格式化当前日期 208

7.8.3情景应用3——正则表达式验证IP地址 210

7.8.4情景应用4——正则表达式鉴别非法电话号码 211

7.8.5情景应用5——获取字符串中汉字的个数 212

7.9自我测试 213

7.10行动指南 214

7.11成功可以复制——IT风云人物鲍岳桥 215

第2部分 提高篇 219

第8堂课 类的继承与多态特性 219

8.1类的继承 220

8.2方法的重写与Super关键字 222

8.3修饰符 224

8.3.1 public修饰符 224

8.3.2 private修饰符 224

8.3.3 protected修饰符 225

8.3.4默认权限修饰符 226

8.4封装 227

8.4.1把属性隐藏 227

8.4.2定义设置器 227

8.4.3定义访问器 228

8.4.4使用Eclipse完成封装 228

8.5 Object类 230

8.5.1 equals方法 230

8.5.2 toString方法 231

8.6照猫画虎——基本功训练 232

8.6.1基本功训练1——多态数组 232

8.6.2基本功训练2——参数多态 234

8.6.3基本功训练3——抽象类实现几何面积计算 238

8.6.4基本功训练4——通过接口实现多态 241

8.6.5基本功训练5——对象的转型与类型判断 243

8.7情景应用——拓展与实践 246

8.7.1情景应用1——单例模式的应用 246

8.7.2情景应用2——简单的汽车销售商场 247

8.7.3情景应用3——重新定义对象的等式判断 248

8.7.4情景应用4——重新定义对象的字符串表现方式 250

8.7.5情景应用5——重新计算对象的哈希码 251

8.8自我测试 252

8.9行动指南 254

8.10成功可以复制——中国第一程序员求伯君 255

第9堂课 其他类特性与异常处理 257

9.1 final特性 258

9.1.1 final变量 258

9.1.2 final方法 258

9.1.3 final类 259

9.2内部类 259

9.2.1成员内部类 259

9.2.2获取外部类的引用 261

9.2.3局部内部类 262

9.2.4匿名内部类 263

9.2.5静态内部类 263

9.3异常处理 264

9.3.1什么是异常 264

9.3.2捕获异常 264

9.4抛出异常 266

9.4.1向上抛出异常 266

9.4.2使用throw关键字抛出异常 267

9.5运行时异常 268

9.6异常的使用原则 269

9.7照猫画虎——基本功训练 269

9.7.1基本功训练1——使用普通内部类修改窗体背景色 269

9.7.2基本功训练2——使用局部内部类实现闹钟 270

9.7.3基本功训练3——使用匿名内部类实现图片浏览器 271

9.7.4基本功训练4——演示类未发现异常 272

9.7.5基本功训练5——自定义异常类 273

9.8情景应用——拓展与实践 274

9.8.1情景应用1——实现文字的跑马灯效果 274

9.8.2情景应用2——组装电脑 275

9.8.3情景应用3——跟随鼠标移动的文字 277

9.8.4情景应用4——鼠标经过时改变文本颜色 277

9.8.5情景应用5——在鼠标上显示当前时间 278

9.9自我测试 279

9.10行动指南 281

9.11成功可以复制——80后新贵、泡泡网CEO李想 282

第10堂课Swing编程基础 283

10.1 JFrame窗体控件 284

10.2常用布局管理器 285

10.2.1绝对布局 285

10.2.2流式布局管理器 286

10.2.3边界布局管理器 287

10.2.4网格布局管理器 288

10.2.5网格组布局管理器 289

10.3常用面板 294

10.3.1 JPanel面板 294

10.3.2 JScrollPane面板 295

10.4标签控件与图标 296

10.4.1标签的使用 296

10.4.2图标的使用 296

10.5按钮控件 297

10.5.1普通按钮控件 297

10.5.2单选按钮控件 298

10.5.3复选框控件 299

10.6文本控件 300

10.6.1文本框控件 300

10.6.2密码框控件 301

10.6.3文本域控件 302

10.7列表控件 304

10.7.1下拉列表框控件 304

10.7.2列表框控件 305

10.8进度条 306

10.9照猫画虎——基本功训练 307

10.9.1基本功训练1——设置窗体背景颜色为淡蓝色 307

10.9.2基本功训练2——修改密码框的回显字符 308

10.9.3基本功训练3——查看图标的信息 309

10.9.4基本功训练4——修改列表项选择模式 309

10.9.5基本功训练5——监听列表项单击事件 310

10.10情景应用——拓展与实践 311

10.10.1情景应用1——设置窗体的背景图片 311

10.10.2情景应用2——震动效果的提示信息 312

10.10.3情景应用3——实现计算器程序界面 313

10.10.4情景应用4——实现用户注册界面 314

10.10.5情景应用5——测试密码是否正确 315

10.11自我测试 316

10.12行动指南 317

10.13成功可以复制——“杀毒王”王江民 317

第11堂课 多线程编程 319

11.1线程基础 320

11.1.1线程与进程的异同 320

11.1.2创建无返回值线程 320

11.1.3线程生命周期详解 322

11.1.4线程各种属性介绍 323

11.2线程控制 324

11.2.1线程的休眠 324

11.2.2线程的插队 325

11.2.3线程的停止 326

11.3线程同步 327

11.3.1需要同步的原因 327

11.3.2同步方法的使用 328

11.3.3使用同步块减负 329

11.3.4使用特殊成员变量 330

11.4线程应用 331

11.4.1 EventQueue与线程分配 331

11.4.2 SwingWorker类的使用 333

11.5照猫画虎——基本功训练 333

11.5.1基本功训练1——查看线程的运行状态 333

11.5.2基本功训练2——查看线程的名称和ID 334

11.5.3基本功训练3——查看线程优先级属性 334

11.5.4基本功训练4——使用重入锁实现同步 335

11.5.5基本功训练5——原子变量与线程同步 336

11.6情景应用——拓展与实践 337

11.6.1情景应用1——水平移动的图标 337

11.6.2情景应用2——多彩的霓虹灯 338

11.6.3情景应用3——电子广告牌 339

11.6.4情景应用4——逐渐上升的气球 340

11.6.5情景应用5——动态绘制圆周 341

11.7自我测试 341

11.8行动指南 343

11.9成功可以复制——初中站长的创业故事 344

第12堂课 事件处理的应用 345

12.1什么是GUI事件 346

12.1.1为程序添加交互能力 346

12.1.2 GUI事件类 347

12.1.3事件监听器 349

12.1.4适配器 349

12.2窗体事件 350

12.3掌握鼠标操作 351

12.3.1鼠标事件监听器 351

12.3.2鼠标事件处理 352

12.4掌握键盘控制 353

12.4.1键盘事件监听器 353

12.4.2键盘事件处理 354

12.5照猫画虎——基本功训练 356

12.5.1基本功训练1——查看窗体的生命周期 356

12.5.2基本功训练2——修改窗体中的鼠标样式 358

12.5.3基本功训练3——使用鼠标改变窗体的背景色 359

12.5.4基本功训练4——显示程序运行时间 359

12.5.5基本功训练5——随机更换窗体背景图片 360

12.6情景应用——拓展与实践 361

12.6.1情景应用1——简易配对游戏 361

12.6.2情景应用2——模拟相机拍摄 363

12.6.3情景应用3——打地鼠游戏 365

12.6.4情景应用4——鼠标经过时放大的按钮 367

12.6.5情景应用5——迟到的登录按钮 367

12.7自我测试 369

12.8行动指南 370

12.9成功可以复制——缔造华人的硅谷传奇杨致远 371

第13堂课 常用工具类 373

13.1日期时间类 374

13.1.1创建Date类的对象 374

13.1.2比较Date对象 374

13.1.3更改Date对象 376

13.1.4日期的格式化输出 376

13.2数学运算 379

13.2.1 Math类 379

13.2.2 Math类的数学方法 379

13.3随机数 383

13.3.1通过Math类生成随机数 383

13.3.2使用Random类生成随机数 385

13.4数字格式化类 386

13.4.1 DecimalFormat类 386

13.4.2数字的格式化输出 387

13.5照猫画虎——基本功训练 389

13.5.1基本功训练1——输出30°的三角函数值 389

13.5.2基本功训练2——输出0.5的反三角函数值 389

13.5.3基本功训练3——角度和弧度的转换 390

13.5.4基本功训练4——高精度整数运算 390

13.5.5基本功训练5——高精度浮点运算 391

13.6情景应用——拓展与实践 392

13.6.1情景应用1——简单的数字时钟 392

13.6.2情景应用2——简单的模拟时钟 393

13.6.3情景应用3——简单的公历万年历 395

13.6.4情景应用4——七星彩号码生成器 396

13.6.5情景应用5——大乐透号码生成器 397

13.7自我测试 398

13.8行动指南 399

13.9成功可以复制——征途巨人史玉柱的第一桶金 400

第14堂课 常用集合类 403

14.1集合类概述 404

14.1.1什么是集合类 404

14.1.2 Java集合类的继承关系 404

14.2 List集合 404

14.2.1 List接口 404

14.2.2 ArrayList类 407

14.3 Set集合 408

14.3.1 Set接口 408

14.3.2 HashSet类 409

14.4 Map集合 410

14.4.1 Map接口 410

14.4.2 HashMap类 411

14.4.3 TreeMap类 413

14.5照猫画虎——基本功训练 415

14.5.1基本功训练1——使用普通for循环遍历ArrayList 415

14.5.2基本功训练2——使用Foreach循环遍历ArrayList 416

14.5.3基本功训练3——使用Iterator遍历ArrayList 416

14.5.4基本功练4——使用ListIterator逆序遍历ArrayList 417

14.5.5基本功训练5——使用TreeSet进行排序 418

14.6情景应用——拓展与实践 419

14.6.1情景应用1——用动态数组保存学生姓名 419

14.6.2情景应用2——用List集合传递学生信息 420

14.6.3情景应用3——使用栈逆序输出字符串 420

14.6.4情景应用4——制作电子词典 421

14.6.5情景应用5——制作手机电话簿 422

14.7自我测试 423

14.8行动指南 424

14.9成功可以复制——使计算机成为生活的必需品 425

第3部分 高级篇 429

第15堂课 数据库编程应用 429

15.1 JDBC技术 430

15.1.1数据库概述 430

15.1.2 JDBC-ODBC技术介绍 431

15.1.3 JDBC技术 432

15.2 JDBC中常用的类和接口 432

15.2.1 DriverManager类 432

15.2.2 Connection接口 432

15.2.3 Statement接口 433

15.2.4 PreparedStatement接口 434

15.2.5 ResultSet接口 434

15.3数据库连接 435

15.3.1加载数据库驱动 435

15.3.2创建数据库连接 436

15.3.3向数据库发送SQL语句 438

15.3.4获取查询结果集 438

15.3.5关闭连接 439

15.4照猫画虎——基本功训练 439

15.4.1基本功训练1——在数据库中创建临时表格 439

15.4.2基本功训练2——在表格中增加数据 441

15.4.3基本功训练3——在表格中删除数据 442

15.4.4基本功训练4——在表格中修改数据 444

15.4.5基本功训练5——查询表格中的数据 445

15.5情景应用——拓展与实践 447

15.5.1情景应用1——查询商品销售的前3名 447

15.5.2情景应用2——查询所有王姓同学信息 450

15.5.3情景应用3——查询男生和女生的人数 450

15.5.4情景应用4——用户重名校验 451

15.5.5情景应用5——用户登录系统 452

15.6自我测试 453

15.7行动指南 454

15.8成功可以复制——图文世界的缔造者 455

第16堂课 输入输出流与文件 457

16.1文件 458

16.1.1 File类 458

16.1.2常用方法 458

16.2字节输入输出流 460

16.2.1标准输入流 460

16.2.2标准输出流 462

16.2.3文件输入流 462

16.2.4文件输出流 463

16.2.5缓存输入流 464

16.2.6缓存输出流 465

16.2.7数据输入流 466

16.2.8数据输出流 467

16.3字符输入输出流 468

16.3.1 Reader类 468

16.3.2 Writer类 469

16.3.3 FileReader类 470

16.3.4 FileWriter类 471

16.3.5 Scanner类 472

16.3.6 PrintWriter类 473

16.4 StringBuilder类 474

16.4.1 StringBuilder与StringBuffer 475

16.4.2常用方法 476

16.5照猫画虎——基本功训练 476

16.5.1基本功训练1——复制单个文件 476

16.5.2基本功训练2——删除指定文件 478

16.5.3基本功训练3——复制文件夹 478

16.5.4基本功训练4——删除含有文件的文件夹 479

16.5.5基本功训练5——压缩指定文件 480

16.6情景应用——拓展与实践 482

16.6.1情景应用1——删除文件夹中所有.tmp临时文件 482

16.6.2情景应用2——合并多个txt文件 483

16.6.3情景应用3——查看文件夹中所有隐藏文件 484

16.6.4情景应用4——简单键盘记录器 485

16.6.5情景应用5——记录用户的登录时间 486

16.7自我测试 487

16.8行动指南 489

16.9成功可以复制——世界第一人称射击游戏之父 489

第17堂课 网络程序设计 491

17.1网络基础 492

17.1.1 TCP/IP协议 492

17.1.2 TCP与UDP协议 492

17.1.3端口和套接字 493

17.2 InetAddress地址类 494

17.3 TCP通信 496

17.3.1 ServerSocket类 496

17.3.2 Socket类 497

17.4 UDP通信 500

17.4.1 DatagramSocket类 500

17.4.2 DatagramPacket类 501

17.5照猫画虎——基本功训练 503

17.5.1基本功训练1——获取主机IP地址 503

17.5.2基本功训练2——设置连接超时 504

17.5.3基本功训练3——创建URL对象 505

17.5.4基本功训练4——提取URL协议名称 506

17.5.5基本功训练5——获取URL的端口 507

17.6情景应用——拓展与实践 508

17.6.1情景应用1——客户端一对一通信 508

17.6.2情景应用2——编写简单聊天室程序 510

17.6.3情景应用3——使用Socket传输图片 512

17.7自我测试 514

17.8行动指南 514

17.9成功可以复制——IT“大王”王志东 515

第18堂课 表格控件的应用 517

18.1创建和定制表格 518

18.1.1创建表格 518

18.1.2定制表格 520

18.2维护表格模型 524

18.2.1创建表格模型 524

18.2.2设置表格模型 524

18.2.3维护模型对象 525

18.3创建行标题栏 529

18.4模型的事件监听与处理 533

18.5照猫画虎——基本功训练 537

18.5.1基本功训练1——表头与列的高度设置 537

18.5.2基本功训练2——调整表格各列的宽度 540

18.5.3基本功训练3——设置表格的选择模式 541

18.5.4基本功训练4——为表头增添提示信息 542

18.5.5基本功训练5——单元格的粗粒度排序 544

18.6情景应用——拓展与实践 545

18.6.1情景应用1——删除指定的图书信息 545

18.6.2情景应用2——分页显示100内的平方数 546

18.6.3情景应用3——五光十色的单元格 548

18.6.4情景应用4——实现表格的栅栏效果 550

18.6.5情景应用5——根据颜色的分量进行排序 551

18.7自我测试 552

18.8行动指南 553

18.9成功可以复制——微型博客Twitter创始人 554

第19堂课 树控件的应用 555

19.1创建树控件 556

19.2维护树模型 558

19.2.1创建模型对象 558

19.2.2设置树控件的模型 560

19.2.3维护树的模型 562

19.3照猫画虎——基本功训练 566

19.3.1基本功训练1——树控件常用遍历方式 566

19.3.2基本功训练2——监听节点的选择事件 567

19.3.3基本功训练3——监听节点的展开事件 568

19.3.4基本功训练4——设置树控件选择模式 570

19.3.5基本功训练5——查看节点的各种状态 572

19.4情景应用——拓展与实践 573

19.4.1情景应用1——以树结构显示文件夹下的文件 573

19.4.2情景应用2——增加图书节点 574

19.4.3情景应用3——删除图书节点 575

19.4.4情景应用4——查找图书节点 576

19.4.5情景应用5——为树节点增加提示信息 577

19.5自我测试 578

19.6行动指南 579

19.7成功可以复制——因特网的点火人 580

第20堂课 其他高级控件 581

20.1文件选择对话框 582

20.1.1创建文件选择对话框 582

20.1.2添加文件过滤器 583

20.2工具栏 584

20.2.1创建工具栏 584

20.2.2添加工具按钮 585

20.3菜单栏与弹出菜单 586

20.3.1创建菜单栏 586

20.3.2添加菜单和菜单项 587

20.3.3创建弹出菜单 589

20.4创建分割面板 591

20.4.1创建分割面板 591

20.4.2使用分割面板 592

20.5创建并使用选项卡面板 594

20.5.1创建选项卡面板 594

20.5.2使用选项卡面板 595

20.6桌面面板和内部窗体 596

20.6.1创建桌面面板 596

20.6.2创建内部窗体 598

20.7使用系统托盘 600

20.7.1获取系统托盘 600

20.7.2为系统托盘添加图标 601

20.7.3添加弹出菜单 601

20.8照猫画虎——基本功训练 603

20.8.1基本功训练1——使子窗体最大化显示 603

20.8.2基本功训练2——模仿记事本的菜单栏 604

20.8.3基本功训练3——在工具栏中增加图标 605

20.8.4基本功训练4——为选项卡增加快捷键 606

20.8.5基本功训练5——为选项卡增加图标 607

20.9情景应用——拓展与实践 608

20.9.1情景应用1——支持图片预览的文件选择对话框 608

20.9.2情景应用2——记录选项卡的访问状态 610

20.9.3情景应用3——简单的图片浏览器 611

20.9.4情景应用4——浏览文本文件内容 613

20.9.5情景应用5——在弹出菜单中显示图片 616

20.10自我测试 617

20.11行动指南 618

20.12成功可以复制——暴雪公司的领航者 618

第21堂课 图形绘制技术 621

21.1 Graphics简介 622

21.1.1 Graphics 622

21.1.2 Graphics2D 622

21.1.3获得控件的Graphics2D对象 622

21.2设置颜色与笔画 623

21.2.1设置颜色 623

21.2.2笔画属性 624

21.3如何绘制文本 625

21.3.1设置字体 625

21.3.2绘制文本 626

21.4在控件上绘图 628

21.5绘制图形 628

21.6照猫画虎——基本功训练 630

21.6.1基本功训练1——绘制图像 630

21.6.2基本功训练2——缩放图像 631

21.6.3基本功训练3——旋转图像 634

21.6.4基本功训练4——倾斜图像 635

21.6.5基本功训练5——翻转图像 636

21.7情景应用——拓展与实践 637

21.7.1情景应用1——绘制直方图 637

21.7.2情景应用2——倾斜效果的文字 638

21.7.3情景应用3——纹理填充特效 639

21.7.4情景应用4——简单的校验图片 640

21.7.5情景应用5——显示彩色字符串 641

21.8自我测试 642

21.9行动指南 643

21.10成功可以复制——3D王国的开创者 643

第4部分 实战篇 647

第22堂课 进销存管理系统 647

22.1项目描述 648

22.2系统分析 648

22.2.1需求分析 648

22.2.2可行性分析 649

22.3系统设计 650

22.3.1系统目标 650

22.3.2系统功能结构 650

22.3.3系统业务流程图 651

22.3.4系统编码规范 651

22.4系统运行环境 653

22.5数据库与数据表设计 654

22.5.1数据库分析 654

22.5.2创建数据库 654

22.5.3创建数据表 655

22.6创建项目 659

22.7系统文件夹组织结构 659

22.8公共类设计 660

22.8.1 SaveUserInfo公共类 660

22.8.2 OnlyNumber公共类 661

22.8.3 DaoConn公共类 661

22.9系统登录模块设计 662

22.9.1设计系统登录窗体 662

22.9.2“登录”按钮的事件处理 662

22.9.3“密码”文本框的回车事件 663

22.10主窗体模块设计 663

22.10.1创建系统主窗体 664

22.10.2设计菜单栏 664

22.10.3设计工具栏 664

22.10.4设计导航按钮 665

22.10.5设计状态栏 665

22.10.6设计显示背景图片的面板 665

22.11供应商基本信息管理模块设计 667

22.11.1设计供应商基本信息管理窗体 668

22.11.2添加供应商信息 669

22.11.3修改供应商信息 670

22.11.4删除供应商信息 673

22.12订购商品信息管理模块设计 675

22.12.1设计订购商品信息管理窗体 675

22.12.2订购商品信息 676

22.13采购入库管理模块设计 678

22.13.1设计采购入库管理窗体 679

22.13.2采购入库管理 679

22.14入库信息查询模块设计 682

22.14.1设计入库信息查询窗体 683

22.14.2入库信息查询 683

22.15入库退货管理模块设计 686

22.15.1设计入库退货管理窗体 687

22.15.2设计录入商品入库退货信息窗体 688

22.15.3设计保存输入信息的类 688

22.16库存盘点窗体模块设计 692

22.16.1设计库存盘点窗体 693

22.16.2库存盘点 693

22.17库存调拨模块设计 694

22.17.1设计库存调拨窗体 695

22.17.2添加商品调拨信息 696

22.17.3查询商品调拨信息 697

22.18销售订单管理模块设计 699

22.18.1设计销售订单管理窗体 699

22.18.2销售订单管理 700

22.19销售出库管理模块设计 703

22.19.1设计销售出库管理窗体 703

22.19.2销售出库管理 704

22.20销售退货管理模块设计 709

22.20.1设计销售退货管理窗体 710

22.20.2设计录入商品销售退货信息窗体 710

22.20.3设计保存输入信息的类 711

22.21添加用户信息模块设计 716

22.21.1设计添加用户信息窗体 716

22.21.2添加用户信息 717

22.22用户设置窗体模块设计 718

22.22.1设计用户设置窗体 719

22.22.2修改用户密码 719

22.22.3设置用户权限 720

22.22.4删除用户信息 722

22.23经手人管理模块设计 723

22.23.1设计经手人管理窗体 723

22.23.2添加经手人 724

22.23.3设置经手人 725

22.24开发常见问题与解决 726

22.24.1不显示系统登录窗体 726

22.24.2运行程序时找不到数据库驱动 726

22.24.3运行程序时用户名或密码不正确 727

22.24.4运行程序时找不到数据库 727

22.25总结 728

第23堂课 企业内部通讯管理系统 729

23.1开发背景 730

23.2系统设计 730

23.2.1系统目标 730

23.2.2系统功能结构 730

23.2.3数据库设计 730

23.2.4文件夹组织结构 731

23.3主窗体设计 732

23.4公共模块设计 732

23.5系统托盘模块设计 733

23.6 系统操作模块设计 733

23.7用户管理模块设计 734

23.8 通讯模块设计 735

23.9总结 736

第24堂课 图书馆管理系统 737

24.1系统分析 738

24.2系统设计 738

24.2.1系统目标 738

24.2.2系统功能结构 738

24.2.3系统业务流程图 739

24.3系统运行环境 739

24.4数据库与数据表设计 740

24.4.1数据库分析 740

24.4.2数据表设计 740

24.5系统文件夹组织结构 742

24.6公共类设计 743

24.7登录模块设计 743

24.8系统主窗体设计 743

24.9新书订购模块设计 744

24.10图书验收模块设计 745

24.11图书信息添加模块设计 745

24.12图书信息修改模块设计 746

24.13图书借阅模块设计 746

24.14图书归还模块设计 747

24.15 图书查询模块设计 747

24.16总结 748

附录A Java程序编码规范 749

A.1命名规则 749

A.1.1数据类型简写规则 749

A.1.2变量及常量名称命名规则 749

A.1.3类命名规则 749

A.1.4成员变量命名规则 750

A.1.5方法命名规则 750

A.1.6接口命名规则 750

A.2代码版式 750

A.2.1统一代码缩进 750

A.2.2合理使用空行 751

A.2.3代码换行 751

A.2.4空格的使用 751

A.3代码注释 751

A.3.1注释的目的 751

A.3.2代码注释规范 751

A.4数据库编程命名规范 752

A.4.1数据库命名规范 752

A.4.2数据表命名规范 752

A.4.3字段命名规范 752

A.4.4视图命名规范 753

A.4.5存储过程命名规范 753

A.4.6触发器命名规范 753