第0章 关于本书与随书光盘 1
0-1 本书简介 2
0-2 本书结构 2
0-3 本书范例 4
0-4 软件和版本 4
0-5 本书练习题 4
0-6 本书光盘内容 4
第1章 Swing简介 5
1-1 Swing的概观 6
1-2 Swing结构 6
1-3 Swing常用的package 8
1-4 Swing组件 8
1-6 本章习题 16
1-5 本章总结 16
第2章 Swing的基本概念与使用 17
2-1 Java窗口的演进 18
2-1-1 什么是Swing,什么又是lightweight component 18
2-1-2 您使用的JDK有包含Swing吗 19
2-2 如何编译与运行包含Swing程序代码的JAVA程序 19
2-2-1 下载JDK 19
2-2-2 安装JDK 21
2-2-3 设置JDK的操作环境 23
2-3 编写第一个Java程序 27
2-3-1 编译与运行Java Application 28
2-3-2 编译与运行Java Applet 30
2-4 本章总结 33
2-5 本章习题 33
第3章 使用版面管理器(Layout Managers) 35
3-1 Swing的版面结构 36
3-2 版面管理器(Layout Manager) 39
3-2-1 Layout Manager的种类与介绍 39
3-2-2 BorderLayout的使用 39
3-2-3 FlowLayout的使用 41
3-2-4 GridLayout的使用 44
3-2-5 CardLayout的使用 46
3-2-6 GridBagLayout的使用 49
3-2-7 BoxLayout的使用 54
3-2-8 不使用版面管理器 62
3-3 本章总结 63
3-4 本章习题 64
第4章 事件处理 65
4-1 事件处理 66
4-2 事件处理范例说明 71
4-2-1 ActionEvent、WindowEvent与事件处理的多种写法 71
4-2-2 相同组件事件的处理 77
4-2-3 鼠标事件处理 80
4-2-4 键盘事件处理 87
4-3 本章总结 89
4-4 本章习题 90
第5章 窗口与面版的使用与介绍 91
5-1 JFrame的使用 92
5-2 Swing的容器结构与JLayeredPane的使用 94
5-3 JInternalFrame的使用 101
5-4 JPanel的使用 104
5-5 JSplitPane的使用 106
5-6 JTabbedPane的使用 108
5-7 JScrollPane的使用 114
5-8 JScrollBar的使用 119
5-9 本章总结 121
5-10 本章习题 122
第6章 标签与按钮的使用与介绍 123
6-1 Border的使用 124
6-2 Icon的使用 131
6-3 JLabel的使用 135
6-4 JButton的使用 139
6-4-1 在JButton上使用Rollover图像变化 141
6-4-2 在JButton上设置快捷键 143
6-4-3 设置默认按钮 145
6-5 JToggleButton的使用 147
6-7 本章习题 151
6-6 本章总结 151
第7章 复选框、选项按钮、列表方框、下拉式列表的使用与介绍 153
7-1 使用JCheckBox组件 154
7-1-1 构造JCheckBox组件 154
7-1-2 JCheckBox事件处理 156
7-2 JRadioButton的使用 159
7-2-1 构造JRadioButton组件与事件处理 160
7-3 JList的使用 164
7-3-1 建立一般的JList 164
7-3-2 利用ListModel构造JList 168
7-3-3 建立有图像的JList 174
7-3-4 JList的事件处理 177
7-4 JComboBox的使用 181
7-4-1 建立一般的JComboBox 182
7-4-2 利用ComboModel构造JComboBox 184
7-4-3 建立有图像的JComboBox 188
7-4-4 建立可自行输入的JComboBox 195
7-4-5 JComboBox的事件处理 196
7-5 本章总结 200
7-6 本章习题 200
第8章 表格的使用与介绍 201
8-1 使用JTable组件 202
8-2 TableModel 206
8-3 AbstractTableModel 208
8-4 TableColumnModel 214
8-5 SelectionModel 217
8-6 DefaultTableModel 220
8-7 JTable的事件处理 224
8-9 本章习题 228
8-8 本章总结 228
第9章 文字输入组件的使用与介绍 229
9-1 认识Swing的文字输入组件 230
9-2 使用JTextField组件 231
9-2-1 构造一般的JTextField组件 231
9-2-2 利用Document构造JTextField 235
9-2-3 JTextField的事件处理 237
9-3 使用JPasswordField组件 238
9-3-1 构造一般的JPasswordField组件 239
9-3-2 利用Document构造JPasswordField 242
9-3-3 JPasswordField的事件处理 244
9-4 使用JTextArea组件 245
9-4-1 构造的JTextArea组件 246
9-4-2 JTextArea的事件处理 252
9-5 使用JEditorPane组件 257
9-5-1 构造JEditorPane组件 258
9-5-2 JEditorPane的事件处理 263
9-6 使用JTextPane组件 265
9-6-1 JTextPane的特性 266
9-6-2 构造JTextPane组件 266
9-7 本章总结 269
9-8 本章习题 270
第10章 树的使用与介绍 271
10-1 使用JTree组件 272
10-2 以Hashtable构造JTree 274
10-3 以TreeNode构造JTree 276
10-4 以TreeModel构造JTree 278
10-5 改变JTree的外观 281
10-6 更换JTree节点图案 283
10-7-1 处理TreeModeEvent事件 286
10-7 JTree的事件处理模式 286
10-7-2 处理TreeSelectionEvent事件 295
10-8 JTree的其他操作 298
10-9 本章总结 298
10-10 本章习题 299
第11章 对话框的使用与介绍 301
11-1 使用JDialog组件 302
11-1-1 在JFrame上建立JDialog 303
11-1-2 在JApplet上建立JDialog 307
11-2 使用JOptionPane类的静态方法 310
11-2-1 输出Message Dialog 313
11-2-2 输出Confirm Dialog 316
11-2-3 输出Input Dialog 319
11-2-4 输出Option Dialog 321
11-2-5 输出Internal Dialog 323
11-3 使用JOptionPane组件建立对话框 326
11-4 本章总结 328
11-5 本章习题 328
第12章 菜单与工具栏的使用与介绍 329
12-1 使用JMenuBar组件 330
12-2 使用JMenu组件 330
12-2-1 构造JMenu组件 331
12-3 使用JMenuItem组件 332
12-3-1 构造JMenuItem组件 333
12-3-2 JMenuItem的事件处理 342
12-4 使用JCheckBoxMenuItem 345
12-4-1 构造JCheckBoxMenuItem组件 345
12-5-1 构造JRadioButtonMenuItem组件 349
12-5 使用JRadioButtonMenuItem组件 349
12-6 使用JToolBar组件 353
12-6-1 构造JToolBar组件 354
12-6-2 在JToolBar组件中加入ToolTip 361
12-7 使用JPopupMenu组件 363
12-7-1 构造JPopupMenu组件 364
12-8 本章总结 370
12-9 本章习题 370
第13章 文件选择对话框、颜色选择对话框、分隔线的使用与介绍 371
13-1 使用JFileChooser组件 372
13-1-1 建立一个简单的JFileChooser对话框 372
13-1-2 建立可选择文件类型的JFileChooser对话框 377
13-1-3 建立具有特殊文件类型图标的JFileChooser 381
13-2 建立颜色选择对话框 386
13-2-1 轻松输出颜色选择对话框 386
13-2-2 建立JColorChooser对象输出颜色选择对话框 390
13-2-3 将JColorChooser置于一般容器中显示 393
13-2-4 改变JColorChooser的颜色选择面版 395
13-3 建立分隔线 395
13-4 本章总结 397
13-5 本章习题 398
第14章 滑动杆、时间控制、进度组件的使用与介绍 399
14-1 使用JSlider组件 400
14-1-1 建立JSlider组件 400
14-1-2 为JSlider组件加入刻度 404
14-1-3 自定义JSlider标记名称 407
14-2 使用Timer组件 409
14-3 使用Progress Bar组件 413
14-4 使用Progress Monitor组件 417
14-5 使用Progress Monitor Input Stream组件 421
14-6 本章总结 429
14-7 本章习题 429
第15章 创造用户最熟悉的环境(Look and Feel) 431
15-1 为什么要用Look and Feel 432
15-2 什么是Look and Feel 432
15-3 在Java 中如何使用Look and Feel 434
15-3-1 Look and Feel范例一 434
15-3-2 Look and Feel范例二 439
15-4 本章总结 448
15-5 本章习题 448
第16章 整合范例 449
16-1 建立窗口 450
16-2 菜单与工具栏 451
16-2-1 菜单 451
16-2-2 工具栏 458
16-3 各种常用的互动组件(ComboBox、CheckBox and Radio) 460
16-4 其他常用的组件(Slider、Tree、Table and Password Field) 466
16-4-1 Slider 469
16-4-2 Tree Structure 470
16-4-3 Table Structure 472
16-4-4 Password Field 473
16-4-5 Progress Bar 475
16-5 其他常用的组件2(JOptionPane、JEditorPane) 476
16-6 整合范例 482
16-6-1 MainFrame程序初始化 483
16-6-2 建立Desktop Pane 483
16-6-3 建立菜单 484
16-6-4 建立工具栏 486
16-6-6 处理编辑器中的排列方式 488
16-6-5 建立快捷菜单 488
16-6-7 处理新增文件 489
16-6-8 处理读取文件、关闭文件、离开程序 492
16-6-9 处理Undo与Redo 495
16-6-10 处理Copy、Cut、Paste操作 498
16-6-11 处理改变粗斜体、下划线、颜色、字体变换与字号操作 499
16-6-12 处理插入图片与组件事件 502
16-6-13 实现Demo菜单中的各种功能 504
16-6-14 实现Help菜单中的各种功能 505
16-7 编辑器运行结果 505
16-8 MainFrame程序内容 508
16-9 一些小技巧 519
16-10 本章总结 521
16-11 本章习题 521