前言
第一部分 入门
第1章 绪论
1.1Java基本类
1.2抽象窗口工具集
1.3同位体和平台独立
1.3.1轻量构件
1.3.2AWT和Swing构件
1.3.3AWT和2DAPI
1.4构件:AWT的基础
1.5构件、容器和布局管理器
1.5.1构件
1.5.2基本构件工具
1.5.3容器
1.5.4布局管理器
1.6小结
第2章 applet和应用程序
2.1 Java appl et
2.1.1使用appletv iewer
2.1.2浏览器的基础结构
2.1.3java.awt.Applet类
2.1.4关键Applet方法
2.1.5java.awv.Comoo nent显示方法
2.2Java应用程序
2.2.1 设置应用程序
2.2.2显示应用程序
2.3组合applet 和应用程序代码
2.4小结
第二部分 图形和图像
第3章 图形
3.1 java.awt.Graphics
3.2Graphics参数
3.3图形坐标系
3.3.1绘制图形形状
3.3.2绘制构件的四周边界
3.3.3填充形状
3.4Graphics引用
3.4.1引用副本的Graphics引用
3.4.2Graphics引用的寿命
3.4.3处理Graphics
3.5绘制和填充形状
3.5.1画直线
3.5.2画折线
3.5.3绘制矩形
3.5.4画弧
3.5.5绘制椭圆
3.5.6绘制多边形
3.5.7绘制文本
3.6转换坐标系原点
3.7剪贴
3.8图形模式
3.9创建图形
3.10小结
第4章 颜色和字体
4.1颜色模式
4.1.1索引颜色模式
4.1.2直接颜色模式
4.2java.awt.Color类
4.3系统颜色
4.4字体和字体度量
4.4.1Font类
4.4.2FontMetrics类
4.5小结
第5章 加载和显示图像
5.1Image 类和Image包
5.2图像生产者和图像消费者
5.2.1异步图像生产
5.2.2ImageProducer
5.2.3ImageObserver
5.3加载和显示图像
5.4applet 和应用程序之间的区别
5.5等待图像加载
5.6一次绘制图像的一行扫描线
5.7MediaTracker
5.8动画GIF
5.9AWT构件作为图像观察者
5.10创建图像
5.11加载图像作为资源
5.12小结
第6章 图像过滤
6.1Image Producer接口
6.2 mageC onsume r接口
6.3图像生产者和图像消费者之间的关系
6.4AWT图像过滤器
6.4.1CropImageFilter
6.4.2使用常规图像过滤器
6.4.3ReplicateScal eFilter和AreaAveraging
ScaleFilter
6.4.4组合图像过滤器
6.5ImageConsumer 属性
6.6实现自定义图像过滤器
6.7扩展RGBImageFilter
6.7.1DissolveFilter
6.7.2DissolveEdgeFilter
6.8扩展ImageFilter
6.8.1ImageFilter类
6.8.2向图像过滤器传输图像位
6.8.3用于传输像素的ColorModel
6.8.4扩展ImageFilter的溶解过滤器
6.8.5波形过滤器
6.9实现ImageConsumer接口
6.9.1图像溶解
6.9.2Dissolver类的实现
6.10双缓冲入门
6.11小结
第7章 无过滤图像处理
7.1缩放和闪烁图像
7.2抓取像素
7.3内存图像源
7.3.1使用MemoryImageSource
裁剪图像
7.3.2内存图像源和动画
7.4小结
第三部分 事件和布局管理器
第8章 基于继承的事件处理
8.1旧AWT事件模型
8.1.1覆盖事件处理方法
8.1.2被传播的事件
8.1.3事件类型常量
8.1.4事件的向外传播
8.1.5覆盖被传播的事件的处理
8.2事件修饰常数
8.3鼠标按钮事件
8.4关于鼠标和按钮
8.5监控鼠标事件
8.6检测双击
8.7动作事件
8.8标识构件
8.9基于继承的事件模型的缺点
8.9.1事件的传播
8.9.2继承的要求
8.9.3将事件处理插入到构件类中
8.9.4传送事件的责任
8.9.5handleEvent()转换语句
8.10小结
第9章 授权事件模型
9.1授权事件模型
9.1.1构件、事件和监听者
9.1.2过滤事件
9.2结构概述
9.2.1事件
9.2.2构件作为事件源
9.2.3多点传送事件源
9.2.4 单点传送事件源
9.2.5事件源接口
9.2.6监听者
9.2.7事件处理方法的JavaBeans设计模式
9.3AWT适配器
9.4构件事件
9.4.1构件和容器事件
9.4.2焦点事件
9.4.3键盘事件
9.4.4鼠标和鼠标移动事件
9.4.5窗口事件
9.4.6画布和面板的焦点和键盘事件
9.4.7消耗输人事件
9.4.8绘制事件
9.5语义事件
9.5.1动作事件
9.5.2可调事件
9.5.3项目事件
9.5.4 文本事件
9.6事件适配器
9.6.1处理没有适配器的多点
事件源事件
9.6.2 类型安全的多路处理适配器
9.6.3一般的多路处理适配器
9.7内部类
9.7.1三维按钮
9.7.2 在单独的监听者类中封装事件处理
代码
9.7.3监听自己
9.7.4 命名内部类
9.7.5匿名内部类
9.7.6 修改默认的事件处理行为
9.8 从自定义构件中激发AWT事件
9.9 从自定义构件中激发自定义事件
9.9.1一个未经专门设计的方案
9.9.2 有关步骤
9.9.3开发自定义事件类
9.9.4 开发监听者接口
9.9.5 为注册监听者定义接口
9.9.6 开发可以激发自定义事件的自定义
构件
9.10 调度事件和AWT事件队列
9.11有效事件
9.12基于继承的机制
9.13 事件处理设计
9.13.1使用基于继承的事件模型
9.13.2 监听自己
9.13.3 在单独的类中封装事件
处理代码
9.13.4 使用内部类
9.13.5 命名内部类与匿名内部类相比
9.13.6 向容器传播事件
9.14 小结
第10章 构件、容器和布局管理器
10.1最大的三种AWT构件
10.2布局管理器
10.2.1两种类型的布局管理器
10.2.2布局管理器和容器空白区
10.2.3同位体和空白区
10.2.4布局管理器和构件首选尺寸
10.3绘制一个容器的构件
10.4强制一个容器布置它的构件
10.5标准AWT布局管理器
10.5.1使用何种布局管理器
10.5.2BorderLayout布局管理器
10.5.3CardLayout布局管理器
10.5.4 FlowLayout布局管理器
10.5.5GridLayout布局管理器
10.6GridBagLayout布局管理器
10.6.1GrdBaglayout和GridBag
Constraints
10.6.2网格单元和显示区
10.6.3与构件比较的显示区
10.6.4GridBagConstraints. anchor
10.6.5GridBagConstraints. fill
10.6.6GridBagConstraints.gridx和GridBag-
Constraints.gridy
10.6.7GridBagConstraints.gridwidth和GridBa g-
Constraints.gridheight
10.6.8GridBagConstraints.weightx和GridBag-
Constraints.weighty
10.6.9Grid BagC onstra ints.i nsets
10.6.10 GridBagConst raint s.ip adx 和GridBag-
Constraints.ipady
10.6.11Grid BagLab
10.6.12 GridBagLayout和输入表单
10.6.13在嵌套的面板中布置构件
10.6.14嵌套面板之间的通信
10.6.15GridLabApplet的实现
10.7 null 布局管理器
10.8自定义布局管理器
10.8.1BulletinLayout
10.8.2运行BulletinLayout自定义布局管
理器
10.8.3Row Layout
10.8.4 运行RowLayout自定义布局管
理器
10.8.5RowLayoutApplet的实现
10.8.6ColumnLayout
10.8.7运行ColumnLayout 自定义布局管
理器
10.9 小结
第四部分 AWT构件
第1章 AWTComponent类
11.1构件
11.2java.awt.Component
11.3构件属性
11.4不赞成的方法
11.5构件的位置、边界和坐标
11.6构件的首选、最小和最大尺寸
11.7构件的可见性和响应
11.8构件和同位体
11.9显示构件
11.10 构件和zorder
11.11构件和光标
11.12构件和串行化
11.13构件和国际化
11.13.1Locale
11.13.2资源包
11.13.3Simplel18Ntestapplet
11.13.4资源包属性
11.13.5从国际化代码中分离出GUI
11.13.6 可用地区和两个字符的编码
11.14 构件和JavaBeans
11.14.1约束属性
11.14.2在自定义构件中实现
约束属性
11.15构件和树锁定
11.16小结
第12章 基本构件:标签、按钮、画布
和面板
12.1标签和按钮
12.1.1 java.awt.Label
12.1.2java.awt.Button
12.2 画布和面板
12.2.1java.awt.Canvas
12.2.2java.awt.Panel
12.3小结
第13章 项目选择:复选框 选择框和
列表
13.1复选框
13.1.1java .awt.ItemSel ectable接口
13.1.2java.awt.Checkbox
13.1.3相容的复选框
13.1.4 相互排斥的复选框
13.2选择框和列表
13.2.1是采用列表还是选择框
13.2.2java.awt.Choice
13.2.3java.awt.list
13.2.4 双列表构件
13.3小结
第14章 文本构件
14.1java.awt.TextCompone nt
14.1.1文本选择
14.1.2TextComponent监听者
14.2java.awt.TextField
14.2.1输入的有效性
14.2.2 退出有效性
14.2.3过程中确认
14.3java.awt.TextArea
14.4 小结
第15章 滚动:滚动条与滚动框
15.1java.awt.Scrollbar
15.2java.awt.ScrollPane
15.2.1滚动构件
15.2.2滚动图像
15.2.3程序控制滚动
15.3小结
第16章 窗口、框架与对话框
16.1java.awt.Window
16.1.1快闪屏
16.1.2提示框帮助
16.2 java.awt.Frame
16.3java.awt.Dialog
16.3.1模式对话框与多线程
16.3.2java.awt.FileDialog
16.4 小结
第17章 菜单
17.1菜单类
17.2文件菜单
17.3处理菜单事件
17.4拖离菜单
17.5MenuBarPrinter
17.6FrameWithMenuBar类
17.7帮助菜单
17.8复选框菜单项
17.9级联菜单
17.10动态更改菜单
17.11弹出式菜单
17.11.1弹出式菜单与构件
17.11.2处理弹出式菜单事件
17.11.3 显示与构件相关的弹出式菜单
17.12小结
第18章 无鼠标操作与打印
18.1无鼠标操作
18.2键盘遍历
18.2.1标准AWT构件与键盘遍历
18.2.2 自定义构件及其键盘遍历
18.3菜单快捷键
18.3.1菜单类与快捷键
18.3.2菜单快捷键示例
18.4打印
18.4.1获取PrintGraphics的引用
18.4.2打印自身的applet
18.4.3打印对话框及其属性
18.4.4 页码设置
18.5 小结
第19章 轻量构件
19.1引入轻量构件
19.1.1AWT:重量构件的世界
19.1.2轻量构件与重量构件
19.2简单的轻量构件
19.2.1简单的重量构件
19.2.2从重量构件到轻量构件
19.3轻量容器
19.4轻量构件与zorder
19.5轻量构件及其Graphics
19.6轻量构件与首选尺寸
19.7小结
第五部分 高级主题
第20章 剪贴板与数据传输
20.1java.awt.datatransfe r软件包
20.2Clipboard类
20.2.1将数据复制到剪贴板及从剪贴板
取出数据
20.2.2ClipboardOwner类
20.3系统剪贴板
20.4 局部剪贴板
20.5数据传送机制
20.5.1数据格式
20.5.2Transferable对象与数据格式
20.5.3StringSelection
20.6 将图像复制到剪贴板
20.6.1ImageSelection——封装图像的
Transferable对象
20.6.2使用ImageSelection类
20.6.3增加另外一种数据格式
20.7传递自定义AWT构件
20.7.1封装自定义AWT构件的可传递
对象
20.7.2图像按钮传送applet
20.8小结
第21章 拖放技术
21.1j四a.awt dnd 软件包
21.2拖动源与放置目标
21.2.1简单的拖放程序范例
21.2.2拖动意图
21.2.3拖动源
21.2.4放置目标
21.2.5事件
21.2.6DragSourceDragEvent与DragSource
DropEvent
21.2.7DropTargetDragE vent与 DropTarget
DropEvent
21.2.8特定的拖动源与放置目标
21.2.9继承与授权
21.2.10映射
21.2.11自动滚动
21.3小结
第22章 自定义对话框
22.1对话框类
22.1.1 GJTDialog
22.1.2非模式对话框和DialogClient接口
22.1.3再论GJTDialog
22.2WorkDialog
22.3ButtonPanel
22.4Postcard
22.5MessageDialog
22.6YesNoDialog
22.7QuestionDialog
22.8小结
第23章 橡皮带技术
23.1橡皮带类
23.2Rubberband基本类
23.2.1Rubberband方法及类成员
23.2.2以XOR模式绘图
23.2.3绘制橡皮带线条
23.2.4绘制橡皮带矩形与椭圆形
23.3橡皮带面板
23.4使用DrawingPanel类
23.5重分解单元测试
23.6小结
第24章 双缓冲技术
24.1双缓冲技术与动画
24.2双缓冲如何工作
24.3可拖动轻量构件与双缓冲容器
24.3.1Util类
24.3.2BackingStore类
24.3.3DoubleBufferedContainer类
24.3.4Lightweight类
24.4小结
第25章 子图形动画
25.1构成
25.2序列与子图形
25.2.1Sequence
25.2.2子图形
25.3Playfield与DoubleBufferedContainer
25.4冲突检测
25.4.1CollisionArena
25.4.2CollisionDetector
25.4.3SpriteCollisionDe tector
25.4.4EdgeCollision
25.5使用animation软件包
25.5.1简单的动画
25.5.2碰撞动画
25.5.3两个子图形之间的冲突
25.6小结
附录A AwT类框图
附录B 关于本书的CD-ROM