第11章 图形和Java2D 1
11.1简介 2
11.2图形环境和图形对象 3
11.3颜色控制 4
11.4字体控制 9
11.5画线、矩形和椭圆 15
11.6画弧形 18
11.7画多边形和折线 20
11.8 Java2D API 22
11.9 Java2D图形 23
11.10(可选实例研究)关于对象的思考:用UML设计接口 29
第12章 图形用户界面组件(第1部分) 39
12.1简介 40
12.2 Swing概述 41
12.3 JLabel 43
12.4事件处理模式 45
12.5 JTextField和JPasswordField 47
12.6 JButton 52
12.7 JCheckBox和JRadioButton 54
12.8 JComboBox 60
12.9 JList 62
12.10多选列表 64
12.11鼠标事件处理 67
12.12适配器类 70
12.13键盘事件处理 76
12.14布局管理器 78
12.14.1 FlowLayout 79
12.14.2 BorderLayout 82
12.14.3 GridLayout 84
12.15面板 86
12.16(可选实例研究)关于对象的思考:用例 88
第13章 图形用户界面组件(第2部分) 105
13.2 JTextArea 106
13.1简介 106
13.3创建定制的JPanel子类 109
13.4创建自包含的JPanel子类 113
13.5 JSlider 118
13.6窗口 122
13.7设计既能作为applet又能作为应用程序运行的程序 123
13.8通过框架来使用菜单 128
13.9使用JPopupMenu 135
13.10插入式外观和风格 138
13.11 使用JDesktopPane和JInternalFrame 142
13.12布局管理器 145
13.13 BoxLayout布局管理器 145
13.14 CardLayout布局管理器 148
13.15 GridBagLayout布局管理器 152
13.16 GridBagConstraints的RELATIVE和REMAINDER常量 157
13.17(可选实例研究)关于对象的思考:模型-视图-控制器(MVC) 160
13.18(选学)揭示设计模式:包java.awt和javax.swing所运用的设计模式 164
13.18.1创建型设计模式 165
13.18.2结构型设计模式 165
13.18.3行为型设计模式 167
13.18.4结束语 170
第14章 异常处理 179
14.1简介 179
14.4 Java异常处理的基本知识 181
14.2何时应用异常处理 181
14.3其他的错误处理技术 181
14.5 try块 182
14.6抛出异常 183
14.7捕获异常 183
14.8异常处理举例:除数为0 185
14.9重新抛出异常 190
14.10 throws语句 190
14.11构造函数、终结函数和异常处理 194
14.12异常与继承 194
14.13 finally块 195
14.14printStackTrace和getMessage的使用 199
第15章 多线程 207
15.1简介 208
15.2 Thread类:Thread方法概述 209
15.3 线程状态:线程的生命周期 210
15.4 线程优先级和线程调度 210
15.5线程同步 215
15.6没有线程同步情况下的生产者/消费者关系 216
15.7线程同步情况下的生产者/消费者关系 220
15.8 生产者/消费者关系:循环缓冲区 225
15.9守护线程 234
15.10 Runnable接口 234
15.11线程组 239
15.12 (可选实例研究)关于对象的思考:多线程 240
15.13 (选学)揭示设计模式:并行设计模式 246
第16章 文件和流 255
16.1简介 255
16.2数据层次结构 256
16.3文件和流 257
16.4创建顺序存取文件 261
16.5从顺序存取文件读取数据 272
16.6更新顺序存取文件 283
16.7随机存取文件 283
16.8创建随机存取文件 284
16.9向随机存取文件随机写入数据 288
16.10从随机存取文件顺序读取数据 293
16.11例子:事务处理程序 298
16.12 File类 314
第17章 网络 329
17.1简介 329
17.2使用URI 331
17.3从Web服务器上读取文件 335
17.4使用流套接字建立一个简单的服务器 339
17.5使用流套接字建立一个简单的客户机 340
17.6 通过流套接字连接实现客户机/服务器的交互 341
17.7 通过数据报实现无连接的客户机/服务器的交互 351
17.8利用多线程服务器实现基于客户机/服务器模式的九宫游戏 358
17.9安全与网络 371
17.10 DeitelMessenger聊天服务器和客户机 371
17.10.1 DeitelMessengerServer与所使用的类 371
17.10.2 DeitelMessenger客户机与所使用的类 380
17.11(选学)揭示设计模式:java.io包与java.net包所使用的设计模式 397
17.11.1创建型设计模式 397
17.11.2结构型设计模式 398
17.11.3体系结构模式 399
17.11.4结束语 401
18.1简介 409
第18章 多媒体:图像、动画、视频和音频 409
18.2装载、显示和缩放图像 410
18.3动画播放一组图像 413
18.4通过applet参数来定制LogoAnimator 416
18.5图像映像 420
18.6装载和播放音频剪辑 423
18.7 Internet和WWW资源 425
第19章 数据结构 433
19.1简介 433
19.2自引用类 434
19.3动态内存分配 434
19.4链表 435
19.5栈 444
19.6队列 448
19.7树 451
第20章 Java工具包和位操作 477
20.1简介 477
20.2 Vector类和Enumeration接口 478
20.3 Stack类 484
20.4 Dictionary类 488
20.5 Hashtable类 489
20.6 Properties类 495
20.7 Random类 501
20.8位操作和按位操作符 502
20.9 BitSet类 514
第21章 集合 525
21.1简介 525
21.2集合概述 526
21.3 Arrays类 526
21.4 Collection接口和Collections类 530
21.5 List 531
21.6算法 536
21.6.1 sort算法 537
21.6.2 shuffle算法 539
21.6.3 reverse、fill、copy、max和min算法 541
21.6.4 binarysearch算法 543
21.7 Set 544
21 8 Map 547
21.9同步包装类 549
21.10不可修改的包装类 549
21.11抽象实现 549
21.12(选学)揭示设计模式:java.until包使用的设计模式 550
21.12.1创建型设计模式 550
21.12.2行为型设计模式 550
21.12.3结束语 551
第22章 Java媒体框架和Java Sound 557
22.1简介 557
22.2播放媒体 558
22.3格式化和存储被捕捉的媒体 561
22.4 RTP流 566
22.5 Java Sound 569
22.6播放采样音频 569
22.7乐器数字接口(MIDI) 571
22.7.1 MIDI回放 572
22.7.2 MIDI录音 574
22.7.3 MIDI合成 575
22.7.4类MidiDemo 576
22.8 Internet和WWW资源 579
22.9(可选实例研究)关于对象的思考:视图中的动画和声音 579
附录A Java演示 599
附录B Java资源 601
附录C 操作符优先级表 607
附录D ASCII字符集 609
附录E 数制系统 611
附录F 用javadoc创建HTML文档 623
附录G 电梯模拟系统事件和监听器接口 629
附录H 电梯模拟系统模型 631
附录I 电梯系统视图 641
附录J 在线求职与机遇 649
附录K Unicode编码 665
参考文献 673