搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Java开发技术大全
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302192138
  • 作      者:
    刘新等编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2009
收藏
编辑推荐
  《Java开发技术大全》是根据作者十多年的教学经验和软件开发经验总结而来,全方位解读Java语言基础知识、高级技术和应用开发。
  由多年Java教学经验和开发经验的人员全力打造,每个技术点都配有典型实例进行讲解,非常容易掌握,对学习中容易犯的错误给出了明确的提示,让你少走弯路,程序代码按软件工程的规范编写,培养良好的编程习惯,所有实例都经过了仔细调试,确保可以正常运行,提供450个示例、6个小案例、1个大案例,可作为案头必备的查询手册。
  一线开发人员全力打造,分享技术盛宴!
  重点内容及特色:
  《Java开发技术大全》全面介绍了、Java语言的基础知识和应用开发技术,基本涵盖了J2SE的各方面。对基础知识的介绍深入、Java语言的核心,对实用技术的介绍则紧密联系实际开发。
  《Java开发技术大全》对Swing包、实用工具类、集合、泛型等内容的介绍全面而深入,已经出版的同类图书很少有如此透彻介绍这些内容的。
  《Java开发技术大全》讲解深入浅出,由易到难,循序渐进,书中的每个知识点和技术都采用了例程讲解为主,理论分析为辅的方式进行介绍。
  《Java开发技术大全》举例时尽量避免复杂的数据结构和算法设计,每个例子都着重于Java知识点本身,做到浅显易懂。对于初学者容易犯的错误,都有明显的提示。
  和国外的一些经典图书相比,《Java开发技术大全》门槛低,讲述符合中国人的思维,更容易理解。另外,《Java开发技术大全》如此大量的实例在国外的经典图书中是很难见到的。
  读者对象:想要全面学习Java语言的人员,具备一定自学能力的Java编程爱好者,Java培训班的培训学员和老师,想了解Java中高级开发技术的人员,需要一本案头必备查询手册的程序员。
展开
作者简介
  刘新,获得计算机软件与理论专业硕士,现为湘潭大学信息工程学院教师,副教授。从事计算机专业教学11年。主要讲授《Java程序设计语言》、《Java应用技术》、《C语言程序设计》、《数据结构》、《算法设计与分析》等专业课程。先后参与过10多个系统的开发工作,其中包括解放军报全文检索系统、新闻出版报全文检索系统、警务管理系统、MARC数据编辑软件、MARC数据到XML数据转换系统、Z39.50客户端浏览软件、路桥收费及稽查系统等。尤其擅长Java开发。
展开
内容介绍
  《Java开发技术大全》以J2SE为平台全面介绍了Java的基础知识和常用技术。《Java开发技术大全》共分为8篇,首先讲述了Java的基础语法,然后介绍了Java中类和对象的实现,这也是Java的核心所在。随后介绍了Java中的高级技术,详细讨论了其中的多线程、集合、泛型、RTTI等。这些基本知识介绍完毕之后,就进入到实际编程阶段,先后介绍了GUI程序设计、多媒体程序设计、数据库和网络程序设计,这些知识均以示例程序来讲解。最后提供了一个完整的即时通讯软件设计实例,让读者能够从实例中学习程序设计的真谛。Java是目前最为流行的程序设计语言。
  《Java开发技术大全》内容全面,实例丰富,特别适合于自学者。《Java开发技术大全》可作为计算机、软件工程专业的教材,也可作为Java程序员的参考手册。
展开
精彩书摘
  第1篇 Java基础知识入门
  第1章 Java的开发运行环境
  学好Java最重要的一个步骤就是上机编程,熟悉Java,的开发运行环境是成为Java程序员的第一步。本章将详细介绍如何安装并配置好Sun公司提供的JDK1.5 for Windows,如何编制一个简单的Java程序,如何编译一个Java源程序,如何运行编译好的class文件以及如何避免初学者常犯的错误。通过本章的学习,将轻松地迈入Java的殿堂。
  1.1 Java的运行环境与虚拟机
  任何一个可执行文件,都必须在某个平台上才能运行。例如,Windows下的exe文件,必须在Windows环境下、X86硬件平台上才能运行。这些exe文件,通常是使用C/C++、Pascal或vB等语言编程,然后通过编译、链接而形成的。在这些可执行文件中,包含了运行它的硬件平台的相关信息,所以如果要把它移植到其他平台上,必须要重新编译,甚至要修改源文件。
  Java和这些语言不同,它的最大特点就是平台无关性。Java文件经编译后,生成的是一个后缀名为class的文件。这是一种字节码文件,它不像普通可执行文件那样包含硬件信息,而是完全与硬件平台无关,也就是无法直接由操作系统调用运行。所以Java的应用程序,需要一个更为复杂的平台才能运行。这个运行平台,包括计算机操作系统、适配器、Java虚拟机、Java基本软件和Java应用程序接口,它们负责将Java的字节码翻译成硬件可以接受的指令。整个运行系统的结构如图1.1所示。
  Java运行系统执行.Java应用程序的过程包括三个步骤:首先是代码的装入,然后是代码的验证,最后是代码的执行。
  代码的装入由类装配器完成,它主要负责装入程序运行时所需要的全部代码,包括程序运行中调用到的其他类。当类装配器装入一个类后,该类被放在自己的命名空间中,除了通过符号引用其他类之外,该类不能影响其他类所在的空间。当装入了运行程序所需要的所有类后,运行系统就能确定整个可执行程序的内存布局。
  然后,被装入的代码将由字节码验证器进行安全检查,以确保字节代码不存在违反访问权限、不规范的数据类型和非法调用等问题。
  通过校验之后,代码就可以运行了。Java的字节码有两种运行方式:
  解释执行方式:通过“解释器”,将字节码翻译成机器码,然后由“运行支持库”将机器码送往硬件执行。整个执行过程是一边翻译一边执行,称为解释执行。Java系统一般采用这种方式。
  即时编译方式:通过“代码生成器”,先一次性地将所有字节码翻译成适用于特定计算机系统的机器码,然后送往硬件执行。对程序运行速度要求较高时,一般采用这种方式。
  从图1.1可以看出,Java的字节码并没有直接运行在硬件平台上,而是在一个虚拟的软件平台上运行。这个虚拟的软件平台,被称为Java虚拟机(Java Virtual Machine,JVM)。为了让编译产生的字节码可以更好地解释与执行,通常把JVM分成6个功能模块:JVM解释器、指令系统、寄存器、栈、存储区和碎片回收区。
  JVM解释器:JVM解释器负责将字节码转换成为CPU,能执行的机器指令。
  指令系统:指令系统同硬件计算机很相似。一条指令分成操作码和操作数两部分。操作码为8位二进制数,操作数可以根据需要而定。操作码是为了说明一条指令的功能,所以JVM可以有多达256种不同的操作指令。
  寄存器:JVM有自己的虚拟寄存器,这样就可以快速地和JVM的解释器进行数据交换。为了实现必需的功能,YVM设置了4个常用的32位寄存器:pc(程序计数器)、optop(操作数栈顶指针)、frame(当前执行环境指针)和vars(指向当前执行环境中第一个局部变量的指针)。
  栈:JVM:栈是指令执行时数据和信息存储的场所和控制中心,它提供给JVM解释器运算时所需要的信息。
  存储区:JVM存储区用于存储编译后的字节码等信息。
  碎片回收区:JVM碎片回收,是指将那些使用后的Java.类的具体实例从内存中进行回收。因此,可以避免开发人员自己编程控制内存的麻烦。随着JVM的不断升级,其碎片回收技术和算法也更加合理。比较经典的算法有引用计数、复制、标记-清除和标记.整理。在JVM 1.4.1版以后,产生了一种代收集技术。简单地说,
  就是利用对象在程序中生存的时间划分成代,以这个代为标准进行碎片回收。
  说明:JVM的运用,真正让Java实现了“一次编译,处处运行”,它是整个运行系统的核心。
展开
目录
第1篇  Java基础知识入门
第1章  Java的开发运行环境 2
1.1  Java的运行环境与虚拟机 2
1.2  Java的开发环境 4
1.2.1  JDK的安装 4
1.2.2  如何设置系统环境变量 6
1.2.3  编译命令的使用 8
1.2.4  解释执行命令的使用 10
1.2.5  UltraEdit的使用 11
1.3  一个简单的Java应用程序 14
1.4  一个简单的Java小程序 16
1.5  本章小结 18

第2章  Java语言基础 19
2.1  Java语言的特点 19
2.2  Java程序的构成 21
2.3  数据类型 23
2.3.1  基本数据类型 23
2.3.2  常量 25
2.3.3  变量 26
2.3.4  整型数据 27
2.3.5  浮点型数据 29
2.3.6  字符型数据 30
2.3.7  布尔型数据 32
2.3.8  变量赋初值 33
2.3.9  变量的作用域 34
2.3.10  数据类型转换 34
2.4  运算符与表达式 37
2.4.1  算术运算符和算术表达式 38
2.4.2  关系运算符和关系表达式 43
2.4.3  逻辑运算符和逻辑表达式 44
2.4.4  条件运算符和条件表达式 48
2.4.5  位运算符和位运算表达式 50
2.4.6  赋值运算符和赋值表达式 53
2.4.7  表达式的求值顺序 55
2.5  流程控制语句 58
2.5.1  三种基本控制结构 58
2.5.2  表达式语句和空语句 59
2.5.3  块语句 60
2.5.4  if~else分支语句 61
2.5.5  多路分支switch~case语句 69
2.5.6  当型循环while语句 71
2.5.7  直到型循环do~while语句 72
2.5.8  当型循环for语句 74
2.5.9  循环的嵌套 78
2.5.10  跳转语句break 80
2.5.11  跳转语句continue 82
2.6  程序文本的风格 84
2.6.1  注释 84
2.6.2  程序的格式编排 87
2.7  基础语法实战演习 88
2.7.1  判断闰年 88
2.7.2  求最大公约数和最小公倍数 89
2.7.3  Fibonacci数列 90
2.7.4  逆向输出数字 91
2.7.5  求水仙花数 92
2.7.6  输出图形 93
2.7.7  输出九九口诀表 94
2.8  本章小结 95

第2篇  Java面向对象编程
第3章  对象和类 98
3.1  面向对象的基本概念 98
3.1.1  对象 98
3.1.2  类 99
3.1.3  消息 101
3.1.4  面向对象的4个基本特征 101
3.2  类与对象 104
3.2.1  类的基本结构 104
3.2.2  类的声明 104
3.2.3  创建类体 105
3.2.4  对象的生命周期 106
3.2.5  对象的创建 106
3.2.6  对象的使用 108
3.2.7  对象的释放和垃圾收集机制 108
3.3  成员变量的定义与使用 109
3.3.1  成员变量的定义 109
3.3.2  成员变量的访问权限 110
3.3.3  实例成员变量和静态成员变量 114
3.4  方法的定义和实现 116
3.4.1  方法的声明 117
3.4.2  创建方法体与return语句 117
3.4.3  局部变量和成员变量的区别 119
3.4.4  方法的访问权限 121
3.5  方法的调用 121
3.5.1  方法调用的形式 121
3.5.2  方法调用的参数 123
3.5.3  隐含参数this 127
3.6  构造方法 128
3.6.1  无参数构造方法的定义和使用 129
3.6.2  带参数构造方法的定义和使用 131
3.6.3  this关键字和构造方法的调用 132
3.7  静态方法 133
3.7.1  静态方法的声明和定义 134
3.7.2  静态方法和实例方法的区别 134
3.7.3  静态代码块 136
3.7.4  再论静态成员变量 137
3.8  main()方法和命令行参数 139
3.9  结束方法 141
3.10  本地方法 141
3.11  本章小结 144

第4章  继承与多态 145
4.1  继承的基本原理 145
4.2  子类对父类的继承 146
4.3  属性隐藏和方法的覆盖 148
4.3.1  属性的隐藏 148
4.3.2  方法的覆盖 151
4.4  构造方法的继承 154
4.5  super的使用 156
4.5.1  用super引用父类的成员 156
4.5.2  使用super调用父类的构造方法 157
4.6  继承的内部处理 158
4.7  多态的基本概念 159
4.8  重载 159
4.8.1  普通方法的重载 160
4.8.2  构造方法的重载 161
4.8.3  重载的解析 163
4.8.4  重载与覆盖的区别 165
4.9  运行时多态 165
4.9.1  实例方法的运行时多态 165
4.9.2  成员变量运行时的表现 167
4.9.3  静态方法运行时的表现 169
4.10  抽象类与抽象方法 170
4.10.1  抽象方法的声明 170
4.10.2  抽象类的定义 170
4.10.3  抽象方法与回调函数 171
4.11  最终类与最终方法 173
4.12  接口与多重继承 174
4.12.1  接口的定义 174
4.12.2  接口的继承 175
4.12.3  接口的实现 177
4.13  内部类 179
4.13.1  内部类的定义 179
4.13.2  内部类访问外部类的成员 182
4.13.3  内部类之间的相互使用 185
4.13.4  在外部使用内部类 186
4.13.5  匿名内部类 187
4.13.6  内部类的作用 188
4.14  包 189
4.14.1  包的创建 189
4.14.2  包的使用 191
4.14.3  JAR文件的创建和使用 193
4.14.4  JDK中的常用包 195
4.15  本章小结 196

第3篇  Java数据处理
第5章  数组与字符串 200
5.1  数组 200
5.1.1  一维数组的声明 200
5.1.2  一维数组的创建 201
5.1.3  一维数组的使用 202
5.1.4  二维数组的声明 204
5.1.5  二维数组的创建 205
5.1.6  二维数组的使用 207
5.1.7  for~each循环 208
5.1.8  应用程序示例1——数组排序 209
5.1.9  应用程序示例2——杨辉三角 212
5.2  字符串 213
5.2.1  String对象的声明 213
5.2.2  String对象的创建 214
5.2.3  String对象的使用 214
5.2.4  String类型的数组 216
5.2.5  StringBuffer对象的声明 217
5.2.6  StringBuffer对象的创建 217
5.2.7  StringBuffer对象的使用 218
5.3  本章小结 219

第6章  Java的异常处理 220
6.1  异常的基本概念和作用 220
6.2  Java的异常处理机制 221
6.3  异常类的层次结构 222
6.3.1  运行时异常 222
6.3.2  检查型异常 223
6.3.3  自定义异常 224
6.4  捕获和处理异常 224
6.5  抛出异常 228
6.6  try-catch-finally语句的嵌套 231
6.7  用户自定义异常 234
6.8  使用异常来实现键盘输入 235
6.9  本章小结 236

第7章  Java的输入和输出 237
7.1  文件和输入输出流 237
7.2  InputStream类和OutputStream类的使用 238
7.2.1  InputStream中的方法 238
7.2.2  OutputStream中的方法 239
7.2.3  文件输入流FileInputStream 239
7.2.4  文件输出流FileOutputStream 239
7.2.5  保存用户输入到文件 240
7.2.6  显示文件内容 241
7.2.7  文件的复制 243
7.2.8  顺序输入流 244
7.2.9  管道输入输出流 246
7.2.10  过滤输入输出流 248
7.3  Reader和Writer类使用 249
7.3.1  InputStreamReader类中的方法 249
7.3.2  OutputStreamWriter类中的方法 250
7.3.3  从键盘输入 250
7.3.4  文件复制 251
7.4  文件属性处理 252
7.4.1  File类中的方法 252
7.4.2  File类使用示例——文件列表 253
7.5  随机访问文件 254
7.5.1  RandomAccessFile类中的方法 254
7.5.2  RandomAccessFile类使用示例——文件加密 256
7.6  控制台输入和输出 257
7.6.1  控制台输入类Scanner 257
7.6.2  格式化输出printf 258
7.7  序列化 261
7.8  本章小结 264

第4篇  Java中的高级技术
第8章  Java的多线程机制 266
8.1  线程的概念 266
8.1.1  多线程的特点 266
8.1.2  线程的状态 267
8.2  Thread类 268
8.2.1  Thread类的构造方法 268
8.2.2  Thread类的常用方法 268
8.3  多线程程序的编写 269
8.3.1  利用Thread的子类创建线程 270
8.3.2  实现Runnable接口创建线程 272
8.3.3  使用isAlive()和join()等待子线程结束 273
8.3.4  设置线程优先级 275
8.4  线程的通信与协调 277
8.4.1  线程的互斥 277
8.4.2  线程的同步 279
8.4.3  暂停、恢复和停止线程 282
8.4.4  生产者-消费者问题实例 284
8.5  本章小结 287

第9章  运行时类型识别 288
9.1  RTTI的作用 288
9.2  用Class类来加载对象 289
9.3  使用getClass()方法获取类信息 290
9.4  使用类标记 292
9.5  使用关键字instanceof判断所属类 292
9.6  利用反射获取运行时类信息 293
9.6.1  使用isInstance()方法判断所属类 294
9.6.2  获取成员方法信息 295
9.6.3  获取构造方法信息 296
9.6.4  获取类的成员属性 297
9.6.5  根据方法的名称来执行方法 299
9.6.6  创建新的对象 300
9.6.7  改变属性的值 301
9.6.8  使用数组 301
9.7  本章小结 303

第10章  泛型 304
10.1  泛型的本质 304
10.2  一个关于泛型的简单例子 305
10.3  带两个类型参数的泛型类 308
10.4  有界类型 309
10.5  通配符参数 311
10.6  泛型方法 313
10.7  泛型接口 315
10.8  泛型类的继承 317
10.8.1  以泛型类为父类 317
10.8.2  以非泛型类为父类 319
10.8.3  运行时类型识别 320
10.8.4  强制类型转换 321
10.8.5  继承规则 322
10.9  擦拭 323
10.10  擦拭带来的错误 324
10.10.1  静态成员共享问题 325
10.10.2  重载冲突问题 325
10.10.3  接口实现问题 326
10.11  泛型的局限 326
10.11.1  不能使用基本类型 326
10.11.2  不能使用泛型类异常 326
10.11.3  不能使用泛型数组 327
10.11.4  不能实例化参数类型对象 327
10.12  本章小结 328

第11章  集合 329
11.1  集合接口与抽象类 329
11.1.1  Collection接口 330
11.1.2  Iterator接口 330
11.1.3  AbstractCollection抽象类 331
11.1.4  几个常用术语 332
11.2  集合类的使用 333
11.2.1  顺序表(ArrayList)使用示例 333
11.2.2  链表(LinkedList)使用示例 336
11.2.3  优先队列(PriorityQueue)使用示例 340
11.2.4  哈希集合(HashSet)使用示例 343
11.2.5  哈希映射类(HashMap)使用示例 347
11.2.6  有序树(TreeSet)使用示例 349
11.2.7  有序树映射类(TreeMap)使用示例 353
11.2.8  枚举(Enum)使用示例 355
11.2.9  枚举集(EnumSet)使用示例 358
11.3  常用算法 361
11.3.1  Collections中的简单算法 361
11.3.2  排序 362
11.3.3  二分查找 364
11.4  遗留的类和接口 366
11.4.1  Enumeration接口简介 366
11.4.2  向量类(Vector)使用示例 367
11.4.3  栈(Stack)使用示例 369
11.4.4  字典(Dictionary)简介 370
11.4.5  哈希表(Hashtable)简介 371
11.5  本章小结 371

第12章  类型包装器、自动装箱和元数据(注释) 372
12.1  类型包装器 372
12.1.1  字符类型包装器 372
12.1.2  布尔类型包装器 373
12.1.3  数字类型包装器 373
12.2  自动装/拆箱 375
12.2.1  自动装箱与方法 375
12.2.2  表达式中的自动装/拆箱 376
12.2.3  布尔型和字符型包装器的自动装/拆箱 378
12.3  元数据 378
12.3.1  注释的基础知识 379
12.3.2  指定一个保留策略 380
12.3.3  使用反射在运行时获得注释 380
12.3.4  AnnotatedElement接口 383
12.3.5  使用默认值 383
12.3.6  标记注释 384
12.3.7  单成员注释 385
12.3.8  内置注释 386
12.3.9  使用注释的一些限制 390
12.4  本章小结 390

第13章  常用工具类 391
13.1  Runtime类的使用 391
13.1.1  内存管理 392
13.1.2  执行其他程序 393
13.2  System类的使用 395
13.2.1  利用currentTimeMillis()记录程序执行的时间 395
13.2.2  利用exit()退出虚拟机 396
13.2.3  获取和设置环境属性 397
13.3  Math类的使用 398
13.3.1  利用随机数求π值 398
13.3.2  利用三角函数求π值 400
13.3.3  利用换底公式求任意对数值 401
13.3.4  使用取整函数 401
13.4  Random类的使用 402
13.5  Date类和Calendar类的使用 404
13.5.1  Date类的简单使用 404
13.5.2  使用SimpleDateFormat格式化输出时间 405
13.5.3  Calendar类的特色 408
13.5.4  利用GregorianCalendar输出日历 411
13.6  Formatter类的使用 413
13.6.1  Formatter的简单使用 413
13.6.2  时间格式转换符详解 415
13.6.3  格式说明符语法图 417
13.7  正则表达式 417
13.7.1  正则表达式的作用 418
13.7.2  正则表达式的基本规则 418
13.7.3  正则表达式中的一些高级规则 421
13.7.4  正则表达式中的其他通用规则 424
13.7.5  使用技巧 425
13.8  Pattern类的使用 426
13.9  Matcher类的使用 428
13.9.1  匹配方法的使用 429
13.9.2  替换方法的使用 430
13.9.3  组匹配的使用 431
13.9.4  检验E-mail的合法性 432
13.10  本章小结 434

第5篇  桌面程序开发
第14章  GUI程序设计 436
14.1  GUI程序设计的基本概念 436
14.1.1  组件 437
14.1.2  布局管理 437
14.1.3  事件处理 437
14.2  开发工具Eclipse简介 438
14.2.1  Eclipse的安装与配置 438
14.2.2  用Eclipse创建一个项目 440
14.3  AWT组件简介 444
14.3.1  AWT组件的层次结构 445
14.3.2  AWT中的基本组件和子包 446
14.3.3  AWT组件通用属性与方法 448
14.3.4  使用AWT编制GUI程序示例 449
14.4  事件处理 452
14.4.1  授权事件模型 452
14.4.2  事件 453
14.4.3  事件源 453
14.4.4  事件监听器和适配器 454
14.4.5  编写事件处理程序的基本方法 454
14.4.6  响应窗口关闭事件处理示例 454
14.4.7  事件监听器接口和适配器类 456
14.4.8  作为参数的事件类 456
14.4.9  处理多个事件的例子 463
14.5  Swing组件的特性 467
14.5.1  Swing组件的优势 467
14.5.2  Swing组件的体系结构 468
14.5.3  使用Swing组件编写GUI的层次结构 468
14.6  顶层容器 469
14.6.1  框架类(JFrame)使用示例 469
14.6.2  小应用程序(JApplet)使用示例 472
14.6.3  对话框(JDialog)使用示例 473
14.7  中间容器 476
14.7.1  面板(JPanel)使用示例 476
14.7.2  滚动面板(JScrollPane)使用示例 480
14.7.3  分隔板(JSplitPane)使用示例 482
14.7.4  选项板(JTabbedPane)使用示例 485
14.7.5  工具栏(JToolBar)使用示例 486
14.8  常用组件 488
14.8.1  标签(Jlabel)使用示例 488
14.8.2  按钮(JButton)使用示例 491
14.8.3  文本框(JTextField)和密码框(JPasswordField)使用示例 492
14.8.4  文本区(JTextArea)使用示例 496
14.8.5  复选框(JcheckBox)使用示例 498
14.8.6  单选按钮(JradioButton)使用示例 500
14.8.7  列表框(JList)使用示例 502
14.8.8  组合框(JComboBox)使用示例 506
14.8.9  表格(Jtable)使用示例 508
14.8.10  树(JTree)使用示例 518
14.8.11  菜单使用示例 523
14.9  布局管理 527
14.9.1  流式布局(FlowLayout)回顾 527
14.9.2  边框布局(BorderLayout)使用示例 528
14.9.3  网格布局(GridLayout)使用示例 529
14.9.4  卡片布局(CardLayout)使用示例 530
14.9.5  增强网格布局(GridBagLayout)使用示例 532
14.9.6  Swing新增的布局管理 535
14.10  GUI程序设计实例1——色盲检测 536
14.10.1  界面的实现 536
14.10.2 “开始”按钮的事件处理 538
14.10.3 “确定”按钮的事件处理 539
14.10.4  滚动条的事件处理 539
14.10.5  完整的程序 539
14.11  GUI程序设计实例2——小闹钟 542
14.11.1  程序界面的实现 543
14.11.2  时间的刷新代码 544
14.11.3  JRadioButton的事件响应代码 545
14.11.4 “确定”按钮的事件响应代码 546
14.11.5 “取消”按钮的事件响应代码 548
14.11.6  完整的程序 548
14.12  GUI程序设计实例3——字体选择对话框 553
14.12.1  界面的实现 554
14.12.2  监听ListSelectionEvent事件 556
14.12.3  按钮响应事件 556
14.12.4  对话框的显示 557
14.12.5  返回用户选择的字体 557
14.12.6  如何使用字体选择对话框 557
14.13  GUI程序设计实例4——记事本 558
14.13.1  增加弹出式菜单 558
14.13.2 “退出”菜单的响应代码 559
14.13.3  覆盖JFrame的processWindowEvent方法 560
14.13.4  监听JTextArea的DocumentEvent事件 560
14.13.5 “另存为...”菜单的响应代码 561
14.13.6 “保存”菜单的响应代码 563
14.13.7 “新建”菜单的响应代码 564
14.13.8 “打开...”菜单的响应代码 564
14.13.9 “打印...”菜单的响应代码 566
14.13.10 “剪切”菜单的响应代码 568
14.13.11 “复制”菜单的响应代码 569
14.13.12 “粘贴”菜单的响应代码 569
14.13.13 “全选”菜单的响应代码 569
14.13.14 “时间/日期”菜单的响应代码 570
14.13.15 “自动换行”菜单的响应代码 570
14.13.16 “查找...”菜单的响应代码 570
14.13.17 “设置字体...”菜单的响应代码 572
14.13.18  完整的程序 573
14.14  本章小结 583

第15章  多媒体程序设计 584
15.1  声音文件的播放 584
15.1.1  在Applet中使用AudioClip播放声音 585
15.1.2  在Application中播放声音 586
15.1.3  利用JavaSound API播放声音 588
15.2  基本图形处理 594
15.2.1  画直线 594
15.2.2  画矩形 596
15.2.3  画椭圆和圆弧 597
15.2.4  画多边形 598
15.2.5  封闭图形的填充 599
15.2.6  缩放图形 601
15.3  特效处理 602
15.3.1  颜色处理的基本知识 602
15.3.2  淡入淡出效果 603
15.3.3  透明效果 604
15.3.4  盖房子特效 607
15.4  处理字体 611
15.4.1  Font类中的方法 611
15.4.2  确定可用字体 612
15.4.3  创建和使用字体 613
15.4.4  自行管理字体 615
15.4.5  字体特效显示 618
15.5  图像的显示 620
15.5.1  标准的图像显示 620
15.5.2  显示局部图像 622
15.5.3  图像缩放 623
15.5.4  灰度变换 623
15.5.5  一个简单的图片浏览器 625
15.5.6  合成两幅图片 628
15.5.7  光照特效 631
15.6  视频文件的播放 635
15.6.1  JMF中的常用术语 635
15.6.2  播放器实例 637
15.7  本章小结 640

第6篇  数据库程序设计
第16章  数据库的预备知识 642
16.1  关系型数据库 642
16.1.1  关系型数据库的结构 642
16.1.2  用Access建立一个数据库 643
16.2  SQL基础 648
16.2.1  创建数据库 649
16.2.2  创建数据表 649
16.2.3  建立索引 650
16.2.4  更改数据表结构 651
16.2.5  删除数据表 652
16.2.6  增加记录 653
16.2.7  更新记录 653
16.2.8  删除记录 654
16.2.9  查询记录 654
16.2.10  连接表 658
16.2.11  使用统计函数 659
16.3  本章小结 660

第17章  Java对数据库编程 661
17.1  Java对数据库的连接 661
17.1.1  JDBC的基本概念 661
17.1.2  JDBC的工作方式 661
17.1.3  JDBC驱动连接 662
17.1.4  连接池 664
17.1.5  事务操作 665
17.2  Java对数据库的操作 667
17.2.1  常用接口及类 667
17.2.2  建立数据库连接 669
17.2.3  关闭数据库连接 670
17.2.4  添加新数据 670
17.2.5  删除数据 674
17.2.6  修改数据 675
17.2.7  查询数据 676
17.3  学生信息管理系统实例 679
17.3.1  程序设计思路 679
17.3.2  几个相关标记 680
17.3.3  程序界面设计 680
17.3.4  打开数据库 682
17.3.5  关闭数据库 683
17.3.6  显示数据到控件中 683
17.3.7  几个辅助方法 684
17.3.8 “第一条”按钮事件响应代码 684
17.3.9 “前一条”按钮事件响应代码 685
17.3.10 “后一条”按钮事件响应代码 686
17.3.11 “最后一条”按钮事件响应代码 686
17.3.12 “增加记录”按钮事件响应代码 687
17.3.13 “保存记录”按钮事件响应代码 687
17.3.14 “编辑记录”按钮事件响应代码 688
17.3.15 “取消改变”按钮事件响应代码 689
17.3.16 “删除记录”按钮事件响应代码 690
17.3.17  actionPerformed()方法 690
17.4  本章小结 691

第7篇  Java网络程序开发
第18章  C/S网络程序设计 694
18.1  与网络相关的常用术语 694
18.1.1  TCP/IP协议 694
18.1.2  IP地址 694
18.1.3  域名 695
18.1.4  服务器 695
18.1.5  客户机 695
18.1.6  套接字 695
18.1.7  端口 696
18.1.8  URL 696
18.2  InetAddress类使用示例 696
18.2.1  根据域名查找IP地址 697
18.2.2  根据IP地址查找主机名 698
18.3  URL类和URLConnection类的使用 698
18.3.1  URL类的使用——一个简单的浏览器 699
18.3.2  URLConnection类的使用——文件下载 701
18.4  Socket的使用 703
18.4.1  客户端创建Socket对象 703
18.4.2  服务器端创建ServerSocket对象 704
18.4.3  示例程序1——一对一的通讯 704
18.4.4  示例程序2——一对多的通讯 707
18.4.5  示例程序3——简单的聊天程序 709
18.5  UDP数据报通信 713
18.5.1  DatagramSocket的使用方法 713
18.5.2  DatagramPacket的使用方法 714
18.5.3  示例程序——用UDP实现的聊天程序 714
18.6  本章小结 718

第19章  JSP程序设计 719
19.1  基本概念 719
19.1.1  动态网站开发技术 719
19.1.2  JSP技术特点 721
19.1.3  JSP与Servlet的关系 722
19.2  JSP运行环境 724
19.2.1  Tomcat简介 724
19.2.2  Tomcat的安装和启动 725
19.2.3  部署自己的网站 727
19.2.4  一个简单的JSP程序 728
19.3  JSP的指令 729
19.3.1  页面指令(page) 730
19.3.2  包含指令(include) 732
19.3.3  标签库指令(taglib) 732
19.4  JSP的脚本元素 733
19.4.1  HTML注释 733
19.4.2  隐藏注释 734
19.4.3  变量和方法的声明 734
19.4.4  表达式 735
19.4.5  嵌入网页中的程序段(Scriptlet) 735
19.5  JSP的标准操作 736
19.5.1  重定向操作() 736
19.5.2  包含操作() 737
19.5.3  嵌入插件() 738
19.5.4  创建Bean实例() 740
19.5.5  设置Bean属性() 741
19.5.6  获取Bean属性() 742
19.6  JSP的隐含对象 743
19.6.1  page对象简介 743
19.6.2  config对象简介 743
19.6.3  利用out对象输出结果到网页 743
19.6.4  利用request对象获取用户数据 744
19.6.5  利用response对象清除网页缓存 748
19.6.6  利用session对象检测用户 749
19.6.7  利用application对象获取容器版本 752
19.6.8  利用pageContext对象获取页面属性 753
19.6.9  利用exception对象处理异常 755
19.7  JavaBeans介绍 756
19.7.1  JavaBeans的属性 756
19.7.2  事件 762
19.7.3  持久化 766
19.7.4  用户化 767
19.8  JSP应用实例1——计数器 769
19.9  JSP应用实例2——日历 771
19.10  JSP应用实例3——数据库查询 774
19.11  JSP应用实例4——简单的留言板 777
19.12  JSP应用实例5——B/S模式的聊天室 781
19.13  本章小结 798

第8篇  即时通讯系统开发实例
第20章  系统分析和设计 800
20.1  系统功能分析 800
20.2  数据库设计 801
20.3  系统总体设计 803
20.3.1  服务器端软件结构 803
20.3.2  客户端软件结构 806
20.4  本章小结 811

第21章  服务器端功能模块的实现 812
21.1  启动服务器 812
21.2  服务器主界面 814
21.3  服务连接线程 818
21.4  为客户端提供功能服务模块 820
21.5  数据库连接模块 827
21.6  管理登录用户模块 829
21.7  显示用户信息模块 831
21.8  存储用户信息的JavaBean 833
21.9  实现头像显示功能的公用类 836
21.10  显示时间的公用类 837
21.11  设置窗口位置的公用类 838
21.12  本章小结 839

第22章  客户端功能模块的实现 840
22.1  登录模块 840
22.2  客户端主界面 846
22.3  聊天模块 860
22.4  查找好友模块 866
22.5  显示好友信息模块 868
22.6  接收陌生人信息模块 871
22.7  更改用户信息模块 873
22.8  用户注册模块 880
22.9  显示版权信息 887
22.10  本章小结 889
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证