《Java 2图形设计 卷Ⅰ AWT》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)(D.M.吉尔里)David M.Geary著;马欣民等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2000
  • ISBN:7111077458
  • 页数:641 页
图书介绍:

第一部分 入门 1

第1章 绪论 1

1.1 Java基本类 1

1.2 抽象窗口工具集 1

1.3 同位体和平台独立 2

1.3.1 轻量构件 3

1.3.2 AWT和Swing构件 3

1.3.3 AWT和2D API 3

1.4 构件:AWT的基础 4

1.5 构件、容器和布局管理器 4

1.5.1 构件 4

1.5.3 容器 5

1.5.2 基本构件工具 5

1.5.4 布局管理器 7

1.6 小结 7

第2章 applet和应用程序 8

2.1 Java applet 8

2.1.1 使用appletviewer 8

2.1.2 浏览器的基础结构 9

2.1.3 java.awt.Applet类 9

2.1.4 关键Applet方法 9

2.1.5 java.awt.Component显示方法 11

2.2 Java应用程序 11

2.2.1 设置应用程序 12

2.2.2 显示应用程序 13

2.3 组合Applet和应用程序代码 13

2.4 小结 15

第3章 图形 17

3.1 java.awt.Graphics 17

第二部分 图形和图像 17

3.2 Graphics参数 18

3.3 图形坐标系 20

3.3.1 绘制图形形状 20

3.3.2 绘制构件的四周边界 22

3.3.3 填充形状 22

3.4 Graphics引用 23

3.4.1 引用副本的Graphics引用 23

3.4.2 Graphics引用的寿命 25

3.4.3 处理Graphics 26

3.5.1 画直线 27

3.5 绘制和填充形状 27

3.5.2 画折线 28

3.5.3 绘制矩形 29

3.5.4 画弧 33

3.5.5 绘制椭圆 35

3.5.6 绘制多边形 35

3.5.7 绘制文本 35

3.6 转换坐标系原点 36

3.7 剪贴 40

3.8 图形模式 42

3.9 创建图形 45

3.10 小结 48

4.1.1 索引颜色模式 50

第4章 颜色和字体 50

4.1 颜色模式 50

4.1.2 直接颜色模式 54

4.2 java.awt.Color类 56

4.3 系统颜色 58

4.4 字体和字体度量 60

4.4.1 Font类 60

4.4.2 FontMetrics类 62

4.5 小结 68

第5章 加载和显示图像 70

5.1 Image类和Image包 70

5.2.2 ImageProducer 71

5.2.1 异步图像生产 71

5.2 图像生产者和图像消费者 71

5.2.3 ImageObserver 72

5.3 加载和显示图像 72

5.4 applet和应用程序之间的区别 75

5.5 等待图像加载 77

5.6 一次绘制图像的一行扫描线 78

5.7 MediaTracker 80

5.8 动画GIF 82

5.9 AWT构件作为图像观察者 85

5.10 创建图像 86

5.11 加载图像作为资源 87

5.12 小结 88

6.1 ImageProducer接口 89

第6章 图像过滤 89

6.2 ImageConsumer接口 90

6.3 图像生产者和图像消费者之间的关系 91

6.4 AWT图像过滤器 91

6.4.1 CropImageFilter 92

6.4.2 使用常规图像过滤器 94

6.4.3 ReplicateScaleFilter和AreaAveraging ScaleFilter 94

6.4.4 组合图像过滤器 96

6.5 ImageConsumer属性 98

6.6 实现自定义图像过滤器 99

6.7 扩展RGBImageFilter 100

6.7.1 DissolveFilter 100

6.7.2 DissolveEdgeFilter 103

6.8 扩展ImageFilter 105

6.8.1 ImageFilter类 106

6.8.2 向图像过滤器传输图像位 107

6.8.3 用于传输像素的ColorModel 108

6.8.4 扩展ImageFilter的溶解过滤器 109

6.8.5 波形过滤器 113

6.9 实现ImageConsurner接口 119

6.9.1 图像溶解 119

6.9.2 Dissolver类的实现 123

6.10 双缓冲入门 128

6.11 小结 133

第7章 无过滤图像处理 134

7.1 缩放和闪烁图像 134

7.2 抓取像素 137

7.3 内存图像源 140

7.3.1 使用MemoryImageSource裁剪图像 141

7.3.2 内存图像源和动画 142

7.4 小结 151

第三部分 事件和布局管理器 153

第8章 基于继承的事件处理 153

8.1 旧AWT事件模型 153

8.1.1 覆盖事件处理方法 153

8.1.2 被传播的事件 154

8.1.3 事件类型常量 154

8.1.4 事件的向外传播 157

8.1.5 覆盖被传播的事件的处理 158

8.2 事件修饰常数 158

8.3 鼠标按钮事件 159

8.4 关于鼠标和按钮 160

8.5 监控鼠标事件 161

8.6 检测双击 163

8.7 动作事件 164

8.8 标识构件 166

8.9 基于继承的事件模型的缺点 168

8.9.1 事件的传播 168

8.9.2 继承的要求 170

8.9.3 将事件处理插入到构件类中 170

8.9.4 传送事件的责任 170

8.9.5 handleEvemt()转换语句 170

8.10 小结 171

9.1.1 构件、事件和监听者 172

第9章 授权事件模型 172

9.1 授权事件模型 172

9.1.2 过滤事件 174

9.2 结构概述 174

9.2.1 事件 176

9.2.2 构件作为事件源 178

9.2.3 多点传送事件源 179

9.2.4 单点传送事件源 179

9.2.5 事件源接口 179

9.2.6 监听者 179

9.2.7 事件处理方法的JavaBeans设计模式 181

9.3 AWT适配器 181

9.4.1 构件和容器事件 183

9.4 构件事件 183

9.4.2 焦点事件 185

9.4.3 键盘事件 187

9.4.4 鼠标和鼠标移动事件 190

9.4.5 窗口事件 192

9.4.6 画布和面板的焦点和键盘事件 193

9.4.7 消耗输入事件 194

9.4.8 绘制事件 195

9.5 语义事件 195

9.5.1 动作事件 196

9.5.2 可调事件 197

9.5.3 项目事件 200

9.5.4 文本事件 201

9.6 事件适配器 202

9.6.1 处理没有适配器的多点事件源事件 203

9.6.2 类型安全的多路处理适配器 206

9.6.3 一般的多路处理适配器 208

9.7 内部类 211

9.7.1 三维按钮 212

9.7.2 在单独的监听者类中封装事件处理代码 213

9.7.3 监听自己 215

9.7.4 命名内部类 215

9.7.5 匿名内部类 216

9.7.6 修改默认的事件处理行为 217

9.8 从自定义构件中激发AWT事件 218

9.9.1 一个未经专门设计的方案 220

9.9 从自定义构件中激发自定义事件 220

9.9.2 有关步骤 221

9.9.3 开发自定义事件类 221

9.9.4 开发监听者接口 223

9.9.5 为注册监听者定义接口 223

9.9.6 开发可以激发自定义事件的自定义构件 224

9.10 调度事件和AWT事件队列 228

9.11 有效事件 230

9.12 基于继承的机制 232

9.13 事件处理设计 235

9.13.1 使用基于继承的事件模型 236

9.13.2 监听自己 236

9.13.3 在单独的类中封装事件处理代码 237

9.13.6 向容器传播事件 238

9.13.5 命名内部类与匿名内部类相比 238

9.13.4 使用内部类 238

9.14 小结 239

第10章 构件、容器和布局管理器 240

10.1 最大的三种AWT构件 240

10.2 布局管理器 241

10.2.1 两种类型的布局管理器 242

10.2.2 布局管理器和容器空白区 243

10.2.3 同位体和空白区 244

10.2.4 布局管理器和构件首选尺寸 245

10.3 绘制一个容器的构件 245

10.4 强制一个容器布置它的构件 248

10.5 标准AWT布局管理器 252

10.5.1 使用何种布局管理器 253

10.5.2 BorderLayout布局管理器 254

10.5.3 CardLayout布局管理器 255

10.5.4 FlowLayout布局管理器 257

10.5.5 CridLayout布局管理器 259

10.6 GridBagLayout布局管理器 260

10.6.1 GrdBaglayout和GridBag Constraints 261

10.6.2 网格单元和显示区 263

10.6.3 与构件比较的显示区 263

10.6.4 GridBagConstraints.anchor 264

10.6.5 GridBagConstraints.fill 266

10.6.6 GridBagConstraints.gridx和GridBagConstraints.gridy 266

10.6.7 GridBagConstraints.gridwidth和GridBagConstraints.gridheight 268

10.6.8 GridBagConstraints.weightx和GridBagConstraints.weighty 269

10.6.10 GridBagConstraints.ipadx和GridBagConstraints.ipady 272

10.6.9 GridBagConstraints.insets 272

10.6.11 GridBagLap 274

10.6.12 GridBagLayout和输入表单 274

10.6.13 在嵌套的面板中布置构件 278

10.6.14 嵌套面板之间的通信 281

10.6.15 GridLabApplet的实现 282

10.7 null布局管理器 285

10.8 自定义布局管理器 290

10.8.1 BulletinLayout 290

10.8.2 运行BulletinLayout自定义布局管理器 293

10.8.3 RowLayout 296

10.8.4 运行RowLayout自定义布局管理器 302

10.8.5 RowLayoutApplet的实现 306

10.8.6 ColurnnLayout 308

10.8.7 运行ColumnLayout自定义布局管理器 311

10.9 小结 314

第四部分 AWT构件 315

第11章 AWT Component类 315

11.1构件 315

11.2 java.awt.Component 316

11.3 构件属性 316

11.4 不赞成的方法 317

11.7 构件的可见性和响应 320

11.8 构件和同位体 320

11.6构件的首选、最小和最大尺寸 320

11.5 构件的位置、边界和坐标 320

11.9 显示构件 323

11.10 构件和zorder 324

11.11 构件和光标 326

11.12 构件和串行化 330

11.13 构件和国际化 333

11.13.1 Locale 333

11.13.2 资源包 334

11.13.3 SimpleI18Ntest applet 335

11.13.4 资源包属性 338

11.13.5 从国际化代码中分离出GUI 338

11.14.1 约束属性 339

11.14 构件和JavaBeans 339

11.13.6 可用地区和两个字符的编码 339

11.14.2 在自定义构件中实现约束属性 342

11.15 构件和树锁定 344

11.16 小结 348

第12章 基本构件:标签、按钮、画布和面板 349

12.1 标签和按钮 349

12.1.1 java.awt.Label 349

12.1.2 java.awt.Button 352

12.2 画面和面板 353

12.2.1 java.awt.Canvas 354

12.2.2 java.awt.Panel 355

12.3 小结 357

13.1.3 相容的复选框 358

13.1.2 java.awt.Checkbox 358

13.1.1 java.awt.ItemSelectable接口 358

第13章 项目选择:复选框、选择框和列表 358

13.1 复选框 358

13.1.4 相互排斥的复选框 360

13.2 选择框和列表 362

13.2.1 是采用列表还是选择框 362

13.2.2 java.awt.Choice 363

13.2.3 java.awt.List 369

13.2.4 双列表构件 372

13.3 小结 380

第14章 文本构件 381

14.1 java.awt.TextComponent 381

14.1.1 文本选择 382

14.2 java.awt.TextField 383

14.1.2 TextComponent监听者 383

14.2.1 输入的有效性 384

14.2.2 退出有效性 384

14.2.3 过程中确认 386

14.3 java.awt.TextArea 387

14.4 小结 391

第15章 滚动:滚动条与滚动框 392

15.1 java.awt.Scrollbar 392

15.2 java.awt.ScrollPane 403

15.2.1 滚动构件 403

15.2.2 滚动图像 407

15.2.3 程序控制滚动 411

15.3 小结 415

第16章 窗口、框架与对话框 416

16.1 java.awt.Window 417

16.1.1 快闪屏 418

16.1.2 提示框帮助 421

16.2 java.awt.Frame 424

16.3 java.awt.Dialog 426

16.3.1 模式对话框与多线程 429

16.3.2 java.awt.FileDialog 432

16.4 小结 436

第17章 菜单 437

17.1 菜单类 437

17.2 文件菜单 438

17.3 处理菜单事件 439

17.4 拖离菜单 441

17.5 MenuBar Printer 441

17.6 FrameWithMenuBar类 442

17.7 帮助菜单 445

17.8 复选框菜单项 448

17.9 级联菜单 450

17.10 动态更改菜单 452

17.11 弹出式菜单 456

17.11.1 弹出式菜单与构件 456

17.11.2 处理弹出式菜单事件 458

17.11.3 显示与构件相关的弹出式菜单 460

17.12 小结 462

18.2 键盘遍历 463

18.2.1 标准AWT构件与键盘遍历 463

第18章 无鼠标操作与打印 463

18.1 无鼠标操作 463

18.2.2 自定义构件及其键盘遍历 466

18.3 菜单快捷键 470

18.3.1 菜单类与快捷键 471

18.3.2 菜单快捷键示例 471

18.4 打印 473

18.4.1 获取PrintGraphics的引用 474

18.4.2 打印自身的applet 474

18.4.3 打印对话框及其属性 476

18.4.4 页码设置 478

18.5 小结 478

19.1.1 AWT:重量构件的世界 479

19.1.2 轻量构件与重量构件 479

19.1 引人轻量构件 479

第19章 轻量构件 479

19.2 简单的轻量构件 480

19.2.1 简单的重量构件 480

19.2.2 从重量构件到轻量构件 481

19.3 轻量容器 483

19.4 轻量构件与zorder 485

19.5 轻量构件及其Graphics 487

19.6 轻量构件与首选尺寸 489

19.7 小结 489

第五部分 高级主题 491

第20章 剪贴板与数据传输 491

20.1 java.awt.datatransfer软件包 491

20.2.2 ClipboardOwner类 492

20.2 Clipboard类 492

20.2.1 将数据复制到剪贴板及从剪贴板取出数据 492

20.3 系统剪贴板 493

20.4 局部剪贴板 497

20.5 数据传送机制 497

20.5.1 数据格式 497

20.5.2 Transferable对象与数据格式 498

20.5.3 StringSelection 499

20.6 将图像复制到剪贴板 500

20.6.1 ImageSelection--封装图像的Transferable对象 500

20.6.2 使用ImageSelection类 502

20.6.3 增加另外一种数据格式 507

20.7.1 封装自定义AWT构件的可传递对象 511

20.7 传递自定义AWT构件 511

20.7.2 图像按钮传送applet 512

20.8 小结 515

第21章 拖放技术 516

21.1 java.awt.dnd软件包 516

21.2 拖动源与放置目标 517

21.2.1 简单的拖放程序范例 517

21.2.2 拖动意图 523

21.2.3 拖动源 524

21.2.4 放置目标 525

21.2.5 事件 526

21.2.6 DragSourceDragEvent与DragSource DropEvent 526

21.2.7 DropTargetDragEvent与DropTarget DropEvent 527

21.2.9 继承与授权 528

21.2.8 特定的拖动源与放置目标 528

21.2.10 映射 532

21.2.11 自动滚动 539

21.3 小结 545

第22章 自定义对话框 546

22.1 对话框类 546

22.1.1 GJTDialog 546

22.1.2 非模式对话框和DialogClient接口 547

22.1.3 再论GJTDialog 548

22.2 WorkDialog 552

22.3 ButtonPanel 553

22.4 Postcard 555

22.5 MessageDialog 556

22.6 YesNoDialog 560

22.7 QuestionDialog 564

22.8 小结 569

第23章 橡皮带技术 570

23.1 橡皮带类 570

23.2 Rubberband基本类 571

23.2.1 Rubberband方法及类成员 571

23.2.2 以XOR模式绘图 573

23.2.3 绘制橡皮带线条 577

23.2.4 绘制橡皮带矩形与椭圆形 578

23.3 橡皮带面板 579

23.4 使用DrawingPanel类 583

23.5 重分解单元测试 587

23.6 小结 588

24.2 双缓冲如何工作 589

第24章 双缓冲技术 589

24.1 双缓冲技术与动画 589

24.3 可拖动轻量构件与双缓冲容器 591

24.3.1 Util类 592

24.3.2 BackingStore类 594

24.3.3 DoubleBufferedContainer类 597

24.3.4 Lightweight类 605

24.4 小结 608

第25章 子图形动画 609

25.1 构成 609

25.2 序列与子图形 609

25.2.1 Sequence 609

25.2.2 子图形 613

25.3 Playfield与DoubleBufferedContainer 618

25.4 冲突检测 622

25.4.1 CollisionArena 622

25.4.2 CollisionDetector 623

25.4.3 SpriteCollisionDetector 623

25.4.4 EdgeCollision 624

25.5 使用animation软件包 625

25.5.1 简单的动画 625

25.5.2 碰撞动画 628

25.53 两个子图形之间的冲突 631

25.6 小结 634

附录A AWT类框图 635

附录B 关于本书的CD-ROM 637