第1部分 從WAT到Swing
第1章 Java基礎類簡介
1.1 什么是JFC
1.1.1 最初:AWT工具包
1.1.2 進入網景
1.1.3 Swing組件集:聯(lián)合工作
1.1.4 Swing的發(fā)展:JFC
1.1.5 Swing和AWT之間的關系
1.1.6 要使用Swing組件, 還需要再學習什么
1.2 JFC特性概述
1.2.1 JComponent類
1.2.2 窗體對話框
1.2.3 各個組件的邊界
1.2.4 圖形調試
1.2.5 增強的非鼠標操作
1.2.6 工具條提示
1.2.7 增強滾動
1.2.8 可插入的外觀
1.2.9 布局管理器
1.2.10 標簽和按鈕
1.2.11 菜單和工具條
1.2.12 文本控件
1.2.13 數(shù)據(jù)選擇和顯示控制
1.2.14 定時器
1.2.15 對applet的支持
1.2.16 打印
1.2.17 Java 2D
1.2.18 可達性
1.3 Swing包
1.3.1 Swing包名稱的歷史
1.3.2 Swing和可達性包
1.3.3 Java 2D包
1.4 模型-視圖-控制器體系結構
1.4.1 MVC組件:按鈕
1.4.2 Swing 中的MVC按鈕實現(xiàn)
1.4.3 使用MVC建立可插入外觀體系結構
1.4.4 選擇外觀
1.4.5 一個應用程序, 數(shù)種外觀
1.5 小結
第2章 窗體. 標簽和按鈕
2.1 應用程序的外殼:JFrame類
2.1.1 調整應用程序窗體的大小并使其可見
2.1.2 位置和顏色
2.2 組件和它們的屬性
2.2.1 位置
2.2.2 大小
2.2.3 調整窗體大小
2.2.4 窗體的最大化和最小化
2.2.5 背景和前景色
2.2.6 顏色和外觀
2.2.7 字體
2.2.8 可見性
2.2.9 啟用或者無效狀態(tài)
2.3 容器和布局管理器
2.3.1 容器
2.3.2 布局管理器
2.3.3 設置容器的初始大小
2.3.4 對容器進行布局
2.3.5 對JFrame的仔細考察
2.3.6 標簽
2.4 事件處理
2.4.1 事件和監(jiān)聽器
2.4.2 注冊并接收事件
2.4.3 事件處理范例
2.5 使用按鈕
2.5.1 創(chuàng)建一個簡單的按鈕
2.5.2 按鈕下事件的處理
2.5.3 助記符
2.5.4 焦點, 邊界繪制, 以及背景填充
2.6 組件上的圖像:圖標
2.6.1 什么是圖標
2.6.2 向按鈕和標簽添加圖標
2.6.3 間隔與邊距
2.6.4 上下文相關的圖標
2.6.5 文本和圖標的地區(qū)相關位置
2.7 在標簽和按鈕上使用HTML文本
2.8 Swing和多線程
2.8.1 管理對Swing組件訪問的規(guī)則
2.8.2 潛在問題的識別
2.8.3 把工作遷移到事件線程
2.8.4 applet用戶2界面和多線程
2.9 小結
第3章 管理用戶界面
3.1 布局管理器
3.1.1 FloLayout管理器
3.1.2 BorderLayout管理器
3.1.3 GrdLayou管理器
3.1.4 極其靈活的GridBagLayout
3.1.5 Box和BoxLayou
3.1.6 用DebugGraphics觀察組件布局與繪制過程
3.1.7 OverlayLayout管理器
3.1.8CardLayout管理呂
3.2 組件方向
3.2.1 依賴于地區(qū)的文本和組件順序
3.2.2 ComponetOrientation類
3.2.3 設置應用程序的組件方向
3.2.4 swing組件和組件方向
3.2.5 布局管理器和組件方向
3.3 應用程序窗口的使用
3.3.1 對窗口狀態(tài)的改變進行響應
3.3.2 組件的移動
3.3.3 使用多臺顯示器
3.4 小結
第4章 圖形. 文本處理和打印
4.1 使用圖形編輯
4.1.1 圖形上下文
4.1.2 繪制直線和圖形
4.1.3 作為組件視圖的圖形上下文
4.1.4 組件繪制:Swing與AWT的比較
4.2 一個圖形應用程序
4.2.1 用戶界面
4.2.2 屬性和屬性變化事件
4.2.3 創(chuàng)建用戶界面
4.2.4 繪制畫布
4.2.5 按鈕面板
4.2.6 實現(xiàn)定制邊界
4.2.7 有邊界的畫布與圖形剪裁功能
4.2.8 繪制區(qū)域及其內容
4.2.9 實現(xiàn)定制圖標
4.3 渲染文本
4.3.1 字體與字體的規(guī)則
4.3.2 字體規(guī)格和度量單位
4.3.3 使用多種字體
4.3.4 模擬無效文本
4.4 打印圖形和文本
4.4.1 打印組件和容器
4.4.2 打印GraphicsBorderedCanvan的內容
4.4.3 打印文本
4.4.4 Java2版本1.3中引入的打印增強功能
4.5 小結
第2部分 使用Swing建立更好的應用程序
第5章 鍵盤處理. Action和滾動
5.1 實現(xiàn)無鼠標操作
5.1.1 焦點處理
5.1.2 處理鍵盤輸入
5.1.3 快捷鍵
5.1.4 按鍵和操作
5.1.5 Java2版本1.3中的KeyStroke映射
5.2 滾動組件
5.2.1 JScrollPane和JViewport類
5.2.2 定制JScrollpane組件
5.3 邏輯滾動與區(qū)域的強制顯示
5.3.1 邏輯滾動
5.4 用JScrollBar實現(xiàn)滾動
5.5 用鍵盤進行滾動操作
5.6 組件自動滾動
5.6.1 自動滾動實例
5.6.2 自動滾動的工作原理
5.7 小結
第6章 菜單和工具條
6.1 菜單條和菜單系統(tǒng)
6.1.1 向應用程序添加菜單條
6.1.2 處理來自菜單的事件
6.1.3 菜單助記符
6.1.4 復選框和單選框菜單按鈕
6.1.5 改變菜單元狀態(tài)
6.1.6 另一種改變菜單狀態(tài)的途徑
6.1.7 對菜單使用Action
6.1.8 菜單快捷鍵
6.1.9 增強菜單
6.1.10 菜單和組件方向
6.2 上下文菜單
6.2.1 工具條
6.2.2 創(chuàng)建工具條并添加按鈕
6.2.3 對菜單條和工具條使用Action
6.3 Action 和Java2版本1.3
6.3.1 Action關聯(lián)到 GUI組件
6.3.2 把Action屬性和 GUI組件
6.3.3 使用Java2版本1.3的Action框架
6.4 小結
第7章 使用標準對話框
7.1 基本的對話框
7.1.1 消息對話框
7.1.2 確認對話框
7.1.3 輸入對話框
7.2 JFileChoose組件
7.2.1 文件選擇器基礎
7.2.2 創(chuàng)建JFileChooser對象
7.2.3 獲得選定的文件
7.2.4 篩選顯示內容
7.2.5 實現(xiàn)定制文件過濾器
7.2.6 對文件的選擇進行控制
7.2.7 定制JFileChooser
7.3 選擇顏色
7.3.1 JColorChoose綜述
7.3.2 創(chuàng)建顏色選擇器
7.3.3 處理顏色選擇器中的選擇
7.3.4 定制顏色選擇器
7.4 小結
第8章 創(chuàng)建定制對話框
8.1 創(chuàng)建定制的對話框
8.1.1 JDialog類
8.1.2 顯示和關閉對話框
8.1.3 對話框關閉操作和相關事件
8.1.4 一個簡單的模態(tài)對話框
8.1.5 對話框的位置
8.1.6 模態(tài)對話框和應用程序的焦點
8.1.7 用JOptionPane創(chuàng)建定制對話框
8.1.8 使用工具按鈕提示和JOptionPane創(chuàng)建圖像映射對話框
8.1.9 帶有JFilechooser的定制對話框
8.1.10 使用非模態(tài)的對話框
8.2 屬性頁窗格和邊界
8.2.1 屬性頁窗格
8.2.2 Swing邊界
8.3 對話框中常用的Swing組件
8.3.1 復選框和單選按鈕
8.3.2 默認按鈕
8.3.3 JList控件
8.3.4 JComboBox控件
8.3.5 Swing定時器
8.3.6 進度條
8.3.7 ProgressMonitor和 ProgressMonitorInputStream
8.3.8 滑塊控件
8.4 小結
第3部分 高級主題
第9章 文本控件
9.1 簡單的文本控件
9.1.1 JTextField 和JTextArea
9.1.2 類似于口令的輸入欄
9.1.3 從文本組件獲得事件
9.1.4 文本的選定
9.1.5 系統(tǒng)剪貼板
9.2 輸入校驗
9.2.1 使用焦點事件進行表單驗證
9.2.2 Java2版本 1.3的 InputVerifier機制
9.3 文本組件:內部實現(xiàn)
9.3.1 文本組件體系結構
9.3.2 Document
9.3.3 文檔內容
9.3.4 元素. 屬性和風格
9.3.5 AbstractDocument和 PlainDocument
9.3.6 JTextComponent , Keymap和 Caret
9.3.7 視圖
9.4 獲得一個文檔的多個視圖
9.4.1 JSplitPane控件
9.5 文檔與非文本元素:JTextPane 和JEditorPane
9.5.1 StyledDocuent 和DefaultstyledDocument
9.5.2 JTextPane控件
9.5.3 JTextPane范例
9.5.4 JTextPane內幕
9.5.5 編輯器和JEditorPane控件
9.6 小結
第10章 樹型控件
10.1 樹型控件
10.1.1 樹型組件的節(jié)點
10.1.2 樹型組件的元素
10.1.3 創(chuàng)建一個樹型組件
10.1.4 樹型組件的展開與折疊
10.1.5 在樹型組件中選定項
10.1.6 在位置與樹路徑或行之間進行轉換
10.1.7 樹的遍歷
10.1.8 改變樹型組件的內容
10.1.9 文件系統(tǒng)樹型控件
10.2 樹型組件定制渲染與編輯
10.2.1 改變樹型組件內容的外觀
10.2.2 改變樹型組件特定于基本外觀的部分
10.2.3 改變所有樹型組件的屬性
10.2.4 編輯樹型組件的節(jié)點
10.2.5 定制對象的渲染和編輯
10.3 小結
第11章 表控件
11.1 表控件概述
11.1.1 一個簡單的表控件
11.1.2 表控件的結構
11.2 表控件模型
11.2.1 TableModel接口
11.2.2 AbstractTableModel和DefaultTableModel
11.2.3 表模型事件
11.3 表控件的列和列模型
11.3.1 TableColumn類
11.3.2 用TableColumnModel對列選定或排序
11.4 表控件
11.4.1 表的創(chuàng)建
11.4.2 表頭
11.4.3 表的選定
11.5 表控件的定制渲染與編輯
11.5.1 表控件渲染器和編輯器
11.5.2 配置渲染器
11.5.3 實現(xiàn)固定的表控件列
11.5.4 編輯器的使用
11.5.5 在JTable與外部應用程序之間復制并粘貼數(shù)據(jù)
11.6 小結
第12章 多文檔應用程序
12.1 內部窗體
12.1.1 內部窗體的外形
12.1.2 內部窗體的疊放
12.2 層次化窗格
12.2.1 添加組件. 控制層次和位置
12.2.2 JLayerdPane如何工作
12.2.3 JLayeredPane和布局管理器
12.3 使用內部窗體
12.3.1 內部窗體的結構
12.3.2 內部窗體狀態(tài)
12.3.3 內部窗體事件
12.4 圖標. 桌面窗格和桌面管理器
12.4.1 關閉內容窗體
12.4.2 支持層疊和平鋪的桌面窗格
12.4.3 桌面管理器的角色
12.4.4 擴展桌面管理器
12.5 多文檔應用程序的例子
12.5.1 創(chuàng)建主窗體
12.5.2 主菜單條
12.5.3 打開一個新的內部窗體
12.5.4 改變文檔
12.5.5 移動內部窗體到最前端
12.5.6 將窗口的內部保存到文件中
12.5.7 關閉內部窗體
12.6 小結
第13章 可插入外觀
13.1 外觀和UIManager
13.1.1 什么是外觀
13.1.2 UIManager類
13.1.3 UIDefaults類
13.1.4 LookAndFeel和 BasicLookandFeel類
13.2 改變組件外觀
13.2.1 一個新的按鈕用戶界面
13.2.2 更改組件用戶界面
13.2.3 復雜外觀
13.2.4 創(chuàng)建一個新外觀
13.3 小結
附錄A SWING APPLET
A.1 Swing,applet和瀏覽器
A.2 使用Java插件
A.2.1 配置你的網頁使用Java插件
A.2.2 在終端用戶的系統(tǒng)上下載插件
A.2.3 在內部網Web服務器安裝插件
A.2.4 使用Java插件對applet進行簽名
A.2.5 Java插件對applet的緩存功能
A.3 本地虛擬機的使用
A.3.1 在本地虛擬機環(huán)境使用Swing
A.3.2 在本地虛擬機中使用applet緩存功能并進行簽名
A.4 裝載圖像和其他資源
A.5 小結