Java語言GUI程序設計 版權信息
- ISBN:9787302503873
- 條形碼:9787302503873 ; 978-7-302-50387-3
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Java語言GUI程序設計 本書特色
《Java語言GUI程序設計》使用本書可以較為容易地掌握Java語言,快速掌握完整的圖形用戶界面程序的設計開發方法。本書具有感性引導、逐步深入、工具輔助、簡單易學、精編例題、圖形用戶界面等特點。
大眾化的Java語言應用型編程、主流圖形用戶界面程序的拼圖式快速設計,涵蓋*新的Java內容和全面的開發技術,內容編排易學易用。
Java語言GUI程序設計 內容簡介
Java語言是近二十年來為流行的通用面向對象程序設計語言,當今程序幾乎都采用圖形用戶界面(GUI)。本書以NetBeans IDE為開發工具,以Java語言基礎知識和基本語法、Java GUI程序的可視化設計方法、新的Java SE 8和Java SE 9及Java SE 10等版本類庫中有關的實用類的使用為主要內容,介紹Java面向對象程序設計方法及應用型Java GUI程序設計方法。
全書所有例題和習題都采用GUI,將Java語言的基本知識和語言機制與圖形用戶界面的設計方法有機結合起來,讀者在學習Java語言的同時就能學會主流GUI程序的設計方法。本書從實用出發,強調利用現有類庫和組件設計解決實際問題的程序,采用優秀的開發環境NetBeans IDE以及可視化Java GUI設計方法,以降低學習難度,提高學習效率。通過學習本書,讀者可以較為輕松地掌握Java語言,快速具備完整的圖形用戶界面程序的設計開發能力。
本書適合作為應用型本科、專科、中職和高職類院校的文、理、醫、農及工科等類各專業學生的程序設計課程教材,同時也適合具有初中以上文化基礎的編程愛好者自學。
Java語言GUI程序設計 目錄
第1章 Java語言GUI程序設計概述 1
1.1 程序設計與程序設計語言概述 1
1.1.1 計算機程序設計的概念 1
1.1.2 程序設計語言的概念 2
1.1.3 程序設計語言的選擇 4
1.2 Java程序設計語言概述 6
1.2.1 Java程序設計語言的特點 6
1.2.2 Java平臺 9
1.2.3 Java語言的應用 15
1.3 GUI程序簡述 17
1.3.1 GUI的基本組成 17
1.3.2 Java GUI程序的構成 21
1.4 開發環境 22
1.4.1 一般Java程序的開發步驟 22
1.4.2 Java程序集成開發環境簡介 23
1.4.3 NetBeans IDE的安裝 24
1.4.4 使用NetBeans IDE開發Java應用程序的步驟及界面 24
習題 26
第2章 快速設計簡單Java GUI程序,認識對象和類 27
2.1 快速設計簡單加法計算器程序 27
2.1.1 創建Java GUI項目 27
2.1.2 創建Java GUI程序窗口界面 28
2.1.3 設置Java GUI界面組件的屬性 30
2.1.4 設計事件處理代碼 31
2.2 初識Java程序和Java類 33
2.3 對象和類的初步知識 36
2.3.1 對象概述 36
2.3.2 類概述 36
2.3.3 類的組織 38
2.3.4 創建對象 39
2.4 Java GUI的可視化設計方法 40
2.4.1 NetBeans GUI構建器的界面 40
2.4.2 添加組件及GUI構建器的可視反饋功能 42
2.5 幾個簡單Swing GUI組件的設計 48
2.5.1 程序窗口 49
2.5.2 標簽組件的屬性 53
2.5.3 文本字段的屬性 54
2.5.4 按鈕的設計 55
2.5.5 單選按鈕及按鈕組 57
2.5.6 應用示例 58
習題 61
第3章 Java語言的數據類型、運算符與流程控制 63
3.1 Java的關鍵字、數據類型、常量與變量 63
3.1.1 關鍵字 63
3.1.2 Java的基本數據類型 64
3.1.3 常量 65
3.1.4 變量 67
3.1.5 使用JShell練習 68
3.2 Java的運算符 70
3.2.1 變量賦值與賦值運算符 70
3.2.2 算術運算符 70
3.2.3 關系運算符 71
3.2.4 邏輯運算符 72
3.2.5 位運算符 73
3.2.6 其他運算符 75
3.3 表達式和語句 76
3.3.1 運算符按元數分類 76
3.3.2 運算符的結合性 76
3.3.3 運算符的優先級 77
3.3.4 類型轉換 77
3.3.5 語句 78
3.4 分支結構 80
3.4.1 if形式 80
3.4.2 if-else形式 83
3.4.3 if-else-if形式 85
3.4.4 if語句的嵌套 87
3.5 組合框的使用及四則運算計算程序設計 88
3.5.1 組合框 88
3.5.2 四則運算計算程序設計 89
3.6 多分支語句switch 91
3.7 循環結構 93
3.7.1 while語句 93
3.7.2 do-while語句 95
3.7.3 for語句 96
3.7.4 循環中的跳轉 100
3.7.5 遞歸方法 104
習題 106
第4章 Java面向對象程序設計 107
4.1 類的方法 107
4.1.1 方法的定義 107
4.1.2 方法的調用及參數傳遞 109
4.1.3 方法的重載 113
4.1.4 構造方法 116
4.2 類封裝與訪問控制 119
4.2.1 類封裝 119
4.2.2 訪問控制 120
4.2.3 static修飾符 121
4.3 類的繼承 122
4.3.1 繼承的概念 122
4.3.2 子類的創建 124
4.3.3 派生類對基類成員的訪問性 125
4.3.4 抽象方法與抽象類 127
4.3.5 子類的構造方法 131
4.3.6 方法的覆蓋與final方法及final類 133
4.4 多態性 133
4.4.1 向上轉型 134
4.4.2 方法綁定 134
4.4.3 多態性 134
4.5 接口 135
4.5.1 接口的概念 135
4.5.2 接口的定義 135
4.5.3 接口的實現與繼承 136
4.5.4 使用接口實現多態性及instanceof操作符 138
4.6 Java的內部類 139
4.6.1 實名非靜態內部類 139
4.6.2 靜態內部類 142
4.6.3 局部內部類 144
4.6.4 匿名內部類 146
4.7 Lambda表達式初步 147
4.7.1 Lambda表達式 147
4.7.2 函數式接口 149
4.7.3 方法引用 150
習題 152
第5章 Java GUI事件處理設計 154
5.1 Java GUI事件處理模型 154
5.1.1 事件的概念 154
5.1.2 Swing的事件處理機制——事件驅動 155
5.1.3 Swing的委托事件模型 157
5.1.4 Swing GUI事件處理步驟 158
5.2 事件處理的設計 159
5.2.1 匿名內部類實現事件監聽器 159
5.2.2 Lambda表達式實現監聽器接口 161
5.2.3 從事件適配器派生 164
5.2.4 實名內部監聽器類 165
5.2.5 獨立監聽器類 167
5.3 常用事件監聽器 167
5.3.1 鼠標事件 168
5.3.2 鍵盤事件 171
5.3.3 焦點事件 172
5.3.4 組件屬性改變事件 173
5.3.5 Action事件 173
5.3.6 組件專用事件監聽器 174
5.3.7 事件及其監聽器小結 175
5.4 Java Bean構件設計初步 176
5.4.1 Java Bean的設計規范 176
5.4.2 使用NetBeans IDE開發Java Bean 178
5.4.3 將Bean添加到組件面板 180
5.4.4 在窗體或容器中添加自定義Bean組件 181
5.5 Swing組件的屬性綁定 181
5.5.1 標準組件間綁定 181
5.5.2 綁定定制Bean 182
5.5.3 屬性綁定實例 184
習題 187
第6章 數據集存儲與處理類 188
6.1 數組 188
6.1.1 定義及創建 188
6.1.2 數組初始化及元素引用 189
6.1.3 二維數組及多維數組 191
6.1.4 Arrays類與數組常用操作 193
6.2 字符串 196
6.2.1 String類 196
6.2.2 StringBuffer類和StringBuilder類 198
6.3 泛型與枚舉 198
6.3.1 泛型的定義和使用 198
6.3.2 類型通配符 202
6.3.3 受限類型參數 203
6.3.4 泛型使用的限制 206
6.3.5 枚舉 206
6.4 集合類 209
6.4.1 集合框架概述 209
6.4.2 有序集合List 212
6.4.3 無重復元素集合Set 216
6.4.4 映射表Map 219
6.4.5 視圖與Collections類 224
6.5 流及其數據集操作 229
6.5.1 流的概念及構成 229
6.5.2 流的來源與創建 230
6.5.3 中間操作 232
6.5.4 終結操作 234
習題 241
第7章 異常處理和文件操作及I/O 243
7.1 異常處理 243
7.1.1 異常的概念及分類 243
7.1.2 拋出異常 244
7.1.3 捕獲異常 245
7.1.4 常見自定義異常 247
7.2 文件與文件選擇器 249
7.2.1 路徑與Path接口 249
7.2.2 文件與File類 252
7.2.3 文件選擇器 255
7.2.4 工具類Files 259
7.3 輸入輸出流 266
7.3.1 流的概念及類型 266
7.3.2 字節流 266
7.3.3 字符流 268
7.4 字節數據的讀寫 269
7.4.1 DataOutput接口與基本類型數據的輸出 269
7.4.2 DataInput接口與基本類型數據的輸入 272
7.4.3 對象流與序列化 273
7.5 文本輸入輸出流 277
7.5.1 輸出文本 278
7.5.2 讀入文本 282
7.6 通道式輸入輸出 283
7.6.1 NIO緩沖區 284
7.6.2 NIO通道 286
7.6.3 異步輸入輸出 289
習題 291
第8章 Swing GUI布局管理器及容器的使用 293
8.1 自由設計 293
8.1.1 概述 293
8.1.2 GUI構建器中的間距編輯 294
8.1.3 自由設計示例 296
8.2 網格式布局和網格包布局 297
8.2.1 網格式布局 297
8.2.2 網格包布局 301
8.2.3 網格包布局定制器的使用 302
8.3 Box布局 306
8.3.1 組件的*小、*大與首選尺寸 307
8.3.2 Box布局 307
8.3.3 組件alignmentX和alignmentY屬性與Box布局 308
8.4 其他布局管理器 309
8.4.1 流式布局 309
8.4.2 邊框式布局 310
8.4.3 卡片式布局 311
8.4.4 疊加布局 312
8.5 填充器Swing Filler 314
8.5.1 接合 314
8.5.2 水平接合 316
8.5.3 垂直接合 316
8.5.4 水平Strut 316
8.5.5 垂直Strut 316
8.5.6 剛性區域 317
8.6 面板容器 318
8.6.1 面板的創建 318
8.6.2 屬性 319
8.6.3 應用舉例 319
8.7 滾動窗格 321
8.7.1 滾動窗格的創建 322
8.7.2 滾動窗格的主要屬性 322
8.7.3 應用舉例 322
8.7.4 文本區域 324
8.8 拆分窗格 324
8.8.1 使用方法 324
8.8.2 屬性 325
8.8.3 列表組件JList 326
8.8.4 應用舉例 328
8.9 標簽化窗格 331
8.9.1 標簽化窗格的組成及使用 332
8.9.2 屬性 333
8.9.3 設計舉例 335
8.10 工具欄 336
習題 338
第9章 Java數據庫程序設計基礎 340
9.1 Java DB數據庫概述 340
9.1.1 Java DB概述 340
9.1.2 關系數據庫概念 341
9.1.3 Java DB的SQL數據類型 343
9.2 NetBeans IDE的數據庫操作 344
9.2.1 配置及啟動Java DB數據庫管理系統 344
9.2.2 創建數據庫 345
9.2.3 設置與建立數據庫連接 345
9.2.4 創建表 345
9.3 表數據的插入、更新和刪除 349
9.3.1 插入數據 349
9.3.2 刪除數據 351
9.3.3 更新數據 352
9.3.4 修改表模式 353
9.4 數據庫查詢 353
9.4.1 SELECT語句語法 354
9.4.2 連接表及子查詢 355
9.4.3 排序行 357
9.4.4 查詢中的計算與數學函數 357
9.4.5 對結果進行分組 361
9.4.6 視圖 361
9.4.7 用索引加速 363
9.5 JDBC 364
9.5.1 加載驅動數據庫程序 365
9.5.2 連接數據庫 366
9.5.3 執行SQL語句 369
9.5.4 使用PreparedStatement注入數據 371
9.5.5 釋放資源 373
9.6 查詢結果集及其數據的動態修改 373
9.6.1 SQL游標 374
9.6.2 訪問字段 375
9.6.3 更新結果集 375
9.6.4 訪問數據庫元數據 377
9.7 注解 379
9.7.1 注解的基本知識 379
9.7.2 基本內置注解 380
9.8 實體類及DAO 382
9.8.1 對象-關系映射與實體類的設計 382
9.8.2 設計DAO封裝數據庫邏輯 385
習題 388
第10章 Swing控件的使用 390
10.1 表格控件的使用 390
10.1.1 使用數據庫快速創建表格 390
10.1.2 表格組件的創建 391
10.1.3 為現有的表格組件綁定數據庫表 393
10.1.4 表格數據模型 394
10.1.5 表格組件的屬性 398
10.2 數值輸入控件 400
10.2.1 格式化字段 400
10.2.2 滑塊 402
10.2.3 進度欄 404
10.2.4 微調器 405
10.3 選擇控件 406
10.3.1 開啟/關閉按鈕 406
10.3.2 復選框 408
10.3.3 組合框 408
10.3.4 列表 412
10.4 樹組件的設計與使用 416
10.4.1 創建樹 416
10.4.2 樹節點 418
10.4.3 樹模型 419
10.4.4 樹組件的屬性設置 421
10.4.5 樹路徑及節點選擇事件 422
10.4.6 節點繪制 425
10.5 綜合示例 429
10.5.1 項目需求簡析 429
10.5.2 系統設計 429
10.5.3 程序實現 430
10.5.4 Java GUI應用程序部署 444
習題 445
第11章 Swing菜單設計及對話框使用 447
11.1 菜單欄及菜單 447
11.1.1 菜單欄 447
11.1.2 菜單的創建 448
11.1.3 菜單的屬性 448
11.2 菜單項 449
11.2.1 菜單項的設計與使用 449
11.2.2 復選框菜單項 450
11.2.3 單選按鈕菜單項 451
11.2.4 分隔符 452
11.3 菜單設計示例 452
11.3.1 題目 452
11.3.2 分析 453
11.3.3 設計步驟 453
11.4 Action接口的使用 459
11.4.1 Action接口及其實現 459
11.4.2 使用Action 460
11.5 彈出式菜單 465
11.5.1 彈出式菜單的設計 465
11.5.2 應用舉例 466
11.6 對話框 469
11.6.1 對話框的使用 469
11.6.2 應用示例 471
11.7 選項窗格 472
11.7.1 選項窗格概述 472
11.7.2 4種典型的選項窗格 473
11.7.3 選項窗格的使用方法 474
11.8 顏色選擇器的使用 476
11.8.1 創建顏色選擇器組件 477
11.8.2 通過工廠方法使用顏色選擇器 478
11.9 桌面系統托盤 479
11.9.1 系統托盤的獲取 480
11.9.2 系統托盤項的設計 481
11.9.3 系統托盤的事件處理 483
11.9.4 應用舉例 483
習題 485
第12章 多線程并發與SwingWorker 487
12.1 Java線程的創建 487
12.1.1 Runnable接口封裝任務 487
12.1.2 創建與啟動線程 488
12.1.3 只在Swing事件派發線程更新界面 489
12.1.4 用Callable與Future接口創建和使用線程 490
12.2 線程的生命周期及屬性 493
12.2.1 枚舉線程的狀態 494
12.2.2 線程的各種狀態及其轉換 494
12.2.3 線程的屬性 495
12.3 多線程的同步控制 496
12.3.1 多線程共享資源與同步 496
12.3.2 同步代碼塊與同步方法 499
12.3.3 多線程協作的同步控制 502
12.3.4 死鎖 505
12.4 Java多線程并發程序設計一瞥 506
12.4.1 執行器與線程池 506
12.4.2 Fork-Join框架 510
12.4.3 阻塞隊列及線程安全的集合 513
12.4.4 標準庫中的同步輔助類 519
12.4.5 流的同步與響應式流 527
12.5 SwingWorker類與GUI程序的任務線程 529
12.5.1 正確使用事件派發線程 529
12.5.2 SwingWorker類 530
12.5.3 SwingWorker類的使用 532
習題 534
展開全部
Java語言GUI程序設計 節選
Java語言的數據類型、運算符與
流程控制
在結構上,Java語言是從包開始的。包是Java語言的命名空間機制。包中包含類,而類中則包含方法、變量、常量,等等。本章介紹Java語言的變量、常量、運算符及由它們組成的表達式,*后介紹Java的流程控制。
3.1 Java的關鍵字、數據類型、常量與變量
關鍵字、數據類型、常量與變量是Java語言*基本的幾個概念,也是組成Java程序的*小結構元素。
3.1.1 關鍵字
Java 語言中規定了一些單詞和字符串,作為Java程序中的命令詞或指示符,Java編譯器會根據它們產生有關操作代碼或程序結構,它們是Java語言的關鍵字。例如,class就是關鍵字,指示編譯器隨后所定義的一段代碼是一個Java類。
關鍵字只有50個,大多數是英文單詞、單詞片段或單詞組合,列舉如下。
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
雖然true、false和null從技術上講并不是關鍵字,但是它們在Java語言中也有特定的含義和用法。這三個詞匯及關鍵字在NetBeans IDE的源代碼視圖中都使用藍色顯示。此外,Java 9保留下畫線字符“_”。Java語言關鍵字及保留字不能用作類名、方法名、變量名和常量名。從Java 9開始,open、module、requires、transitive、exports、opens、to、uses、provides和with只是在模塊聲明中才是關鍵字。Java 10中var是保留字。
3.1.2 Java的基本數據類型
Java語言對程序處理的代表現實世界各種信息的數據也表示為高層次的概念——不同的數據類型。Java語言有兩類數據類型:基本數據類型和引用數據類型。前面接觸到的類(class)就是Java語言中*主要的引用數據類型,此外還有后面要介紹的接口(interface)、枚舉和數組三種引用數據類型。
基本數據類型是Java語言定義的一些簡單數據類型,是進行Java程序設計時頻繁使用且結構簡單的類型,是用以完成程序中*“基本”*“主要”計算的“主”(Primitive)類型。基本數據類型的具體量不需要用new創建,一旦定義這種類型的量,就可以高效地存取,并可以直接參與運算。
Java語言決定了每種基本數據類型的大小,這些大小并不隨著機器結構的變化而變化。基本數據類型的大小不可更改是Java程序具有很強移植能力的原因之一。表3.1列出了Java語言基本數據類型。