第一部分 Java GUI程序设计基础 3
第1章 Java GUI程序设计基本原理 3
1.1 AWT组件类 3
1.2 其他AWT类 4
1.3 组件体系结构 5
1.3.1 peer的生成 5
1.3.2 peer的事件处理 6
1.4 AWT显示机制 6
1.5 Java GUI程序结构及示例 6
1.5.2 程序源代码 7
1.5.1 例子 7
1.5.3 程序中用到的类 11
1.5.4 组件层次 12
1.5.5 界面显示过程 14
1.5.6 事件处理 15
1.6 小结 18
第2章 AWT组件类及其使用 19
2.1 使用组件的一般规则 19
2.1.1 如何向容器中加入组件 19
2.1.2 Comonent类的功能 19
2.1.3 如何改变组件的显示特性和行为 20
2.2 按钮 20
2.3 画布 21
2.4 复选钮 23
2.5 选择列表 25
2.6 对话框 27
2.7 独立窗口 29
2.8 标签 30
2.9 列表 31
2.10 菜单 33
2.11 底板 38
2.12 滚动条 39
2.13 文本区和文本域 42
2.14 小结 44
3.1.1 如何选择布局管理器 45
3.1.2 如何生成一个布局管理器并将它同容器链接 45
第3章 组件的布局 45
3.1 布局管理器使用规则 45
3.1.3 布局管理器的调用 46
3.2 BorderLayout布局管理器 46
3.3 CardLayoutv布局管理器 48
3.5 GridLayoutv布局管理器 52
3.6 GridBagLayout布局管理器 53
3.6.1 GridBagLayout布局管理器 53
3.6.2 指定限制参数 55
3.6.3 一个applet例子 56
3.7 生成定制布局管理器 60
3.8 绝对定位方法 64
3.9 小结 65
第二部分 图形和图像处理 69
第4章 图形处理 69
4.1 AWT图形支持 69
4.1.1 Graphics对象 69
4.1.2 坐标系 69
4.1.3 repaint()方法的四种形式 70
4.2 绘制图形 70
4.2.1 例1:绘制简单矩形 71
4.2.2 例2:使用矩形指示选择的区域 73
4.2.3 例3:图形采样器 76
4.3 使用文本 79
4.3.1 绘制文本 79
4.3.2 获取字体信息:FontMetries 80
4.4 小结 84
第5章 图像处理 85
5.1 加载图像 85
5.1.1 使用getImage( )方法 85
5.1.2 请求并跟踪图像的加载:MediaTracker和ImageOhserver 86
5.1.3 使用MemoryImageSource生成图像 87
5.2 显示图像 88
5.3.1 图像过滤器的使用 89
5.3 处理图像 89
5.3.2 编写图像过滤器 92
5.4 小结 97
第6章 实现动画功能 98
6.1 生成动画循环 98
6.1.1 初始化实例变量 102
6.1.2 动画循环 102
6.1.3 确保稳定的帧速率 103
6.1.4 灵活的功能 103
6.2 图形动画 104
6.3.1 覆盖update( )方法 107
6.3 消除闪烁 107
6.3.2 实现双缓冲区 110
6.4 在屏幕上移动图像 113
6.5 动态显示图像序例 115
6.6 改进图像动画的显示效果和性能 115
6.6.1 使用MediaTracker加载图像并延迟图像的显示 116
6.6.2 加速图像加载 116
6.7 小结 117
第三部分 高级Java GUI程序设计 121
第7章 高级事件处理 121
7.1 高级事件处理模型概论 121
7.1.1 一个简单的例子 121
7.1.2 一个复杂的例子 122
7.1.3 处理其他事件类型的例子 124
7.1.4 使用适配器(Adapters)和内部类(Inner Class)处理事件 127
7.2 标准AWT事件概述 128
7.3 动作事件反应器 130
7.3.1 动作事件方法 131
7.3.2 处理动作事件的例子 131
7.3.3 ActionEvent类 131
7.4 调整事件反应器 131
7.4.1 调整事件的方法 132
7.4.2 AdjustmentEvent类 132
7.5 组件事件反应器 132
7.5.1 组件事件反应器的方法 132
7.5.2 处理组件事件的例子 133
7.5.3 ComponentEvent类 135
7.6 容器事件反应器 135
7.6.1 容器事件反应器方法 135
7.6.2 处理容器事件的例子 135
7.6.3 ContainerEvent 类 138
7.7 输入焦点事件反应器 138
7.7.1 输入焦点事件反应器方法 138
7.7.2 处理输入焦点事件的例子 138
7.7.3 FocusEvent类 141
7.8 项事件反应器 141
7.9.2 处理键事件的例子 142
7.9.1 键事件类 142
7.8.2 ItemEvent类 142
7.8.1 项事件方法 142
7.9 键事件反应器 142
7.9.3 KeyEvent 类 145
7.10 鼠标事件反应器 145
7.10.1 鼠标事件反应器方法 145
7.10.2 鼠标事件处理的例子 146
7.10.3 MouseEvent类 148
7.11 鼠标移动事件反应器 148
7.12 文本事件反应器 148
7.12.1 文本事件方法 148
7.12.2 处理文本事件的例子 148
7.14 小结 151
7.13 窗口事件反应器 151
第8章 JFC-Swing程序设计 152
8.1 JFC-Swing介绍 152
8.1.1 IFC AWT和Swing 152
8.1.2 Swing包概述 153
8.1.3 组件层次 153
8.2.1 JPanel 155
8.2.2 Icon 155
8.2.3 JLabel 156
8.2.4 JButton 157
8.2.6 JCheckBox 158
8.2.5 AbstractButton 158
8.2.7 JRadioButton 159
8.2.8 JToggleButton 161
8.2.9 JTextComponets 161
8.2.10 JTextField JTextArea 162
8.2.11 JTextPane 162
8.2.12 JPasswordField 163
8.2.13 JScrollBar 164
8.2.14 JSlider 165
8.2.15 JProgressBar 166
8.2.16 JComboBox 168
8.2.17 JList 169
8.2.18 Border 170
8.2.19 JScrollPane 173
8.2.20 JViewPort 174
8.2.21 Menu 174
8.2.22 JSeparalor 176
8.2.23 JPopupMenu 178
8.2.24 JFrame 179
8.2.25 JRootPane 180
8.2.26 JLayeredPane 180
8.2.27 Tooltip 181
8.2.28 Toollbar 181
8.2.29 JTabbedPane 183
8.2.30 JSplitPane 184
8.3.3 SerollPaneLayout 187
8.3.4 ViewportLayout 188
8.4 Swing事件处理 188
8.4.1 Swing事件对象 188
8.4.2 Swing事件反应器 189
8.4.3 Swing事件源 190
8.5 小结 191
第9章 其他高级功能 192
9.1 无鼠标操作 192
9.1.1 输入焦点的转移 192
9.2.1 打印API 193
9.1.2 菜单快捷键 193
9.2 打印 193
9.2.2 打印图形现场 194
9.2.3 分页 194
9.2.4 打印组件层次 194
9.2.5 例子 194
9.3 桌面颜色控制 196
9.3.1 桌面颜色控制API 196
9.3.2 颜色范围 196
9.3.3 例子 197
9.4 小结 198