Java 9編程參考官方大全

Java 9編程參考官方大全

《Java 9編程參考官方大全》是2018年清華大學出版社出版的圖書。

基本介紹

  • 中文名:Java 9編程參考官方大全
  • 作者:(美)赫伯特·希爾德特(Herbert Schildt)
  • 類別:程式設計
  • 出版社:清華大學出版社
  • 出版時間:2018年8月
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302506065
內容簡介,圖書目錄,作者簡介,

內容簡介

主要內容 ● 數據類型、變數、數組和運算符 ● 控制語句 ● 類、對象和方法 ● 方法重載和重寫 ● 繼承 ● 接口和包 ● 異常處理 ● 多執行緒編程 ● 枚舉、自動裝箱和註解 ● I/O類 ● 泛型 ● lambda表達式 ● 模組 ● 字元串處理 ● 集合框架 ● 聯網 ● 事件處理 ● AWT ● Swing和JavaFX ● 並發API ● 流API ● 正則表達式 ● Java Bean ● servlet

圖書目錄

目 錄
第Ⅰ部分 Java語言
第1章 Java的歷史和演變 3
1.1 Java的家世 3
1.1.1 現代程式語言的誕生:C語言 3
1.1.2 C :下一個階段 4
1.1.3 Java出現的時機已經成熟 4
1.2 Java的誕生 5
1.3 Java改變Internet的方式 6
1.3.1 Java applet 6
1.3.2 安全性 6
1.3.3 可移植性 6
1.4 Java的魔力:位元組碼 7
1.5 不再推薦使用applet 7
1.6 servlet:伺服器端的Java 8
1.7 Java的關鍵特性 8
1.7.1 簡單性 8
1.7.2 面向對象 8
1.7.3 健壯性 8
1.7.4 多執行緒 9
1.7.5 體系結構中立 9
1.7.6 解釋執行和高性能 9
1.7.7 分散式 9
1.7.8 動態性 9
1.8 Java的演變歷程 9
1.9 Java SE 9 11
1.10 文化革新 12
第2章 Java綜述 13
2.1 面向對象編程 13
2.1.1 兩種範式 13
2.1.2 抽象 13
2.1.3 OOP三原則 14
2.2 個簡單程式 16
2.2.1 輸入程式 17
2.2.2 編譯程式 17
2.2.3 深入分析個示例程式 17
2.3 第二個簡短程式 19
2.4 兩種控制語句 20
2.4.1 if語句 20
2.4.2 for循環 21
2.5 使用代碼塊 22
2.6 辭彙問題 23
2.6.1 空白符 23
2.6.2 標識符 23
2.6.3 字面值 23
2.6.4 注釋 23
2.6.5 分隔設定 23
2.6.6 Java關鍵字 24
2.7 Java類庫 24
第3章 數據類型、變數和數組 25
3.1 Java是強類型化的語言 25
3.2 基本類型 25
3.3 整型 25
3.3.1 byte 26
3.3.2 short 26
3.3.3 int 26
3.3.4 long 26
3.4 浮點型 27
3.4.1 float 27
3.4.2 double 27
3.5 字元型 27
3.6 布爾型 29
3.7 深入分析字面值 29
3.7.1 整型字面值 29
3.7.2 浮點型字面值 30
3.7.3 布爾型字面值 30
3.7.4 字元型字面值 31
3.7.5 字元串字面值 31
3.8 變數 31
3.8.1 變數的聲明 31
3.8.2 動態初始化 32
3.8.3 變數的作用域和生存期 32
3.9 類型轉換和強制類型轉換 34
3.9.1 Java的自動類型轉換 34
3.9.2 強制轉換不兼容的類型 34
3.10 表達式中的自動類型提升 35
3.11 數組 36
3.11.1 一維數組 36
3.11.2 多維數組 38
3.11.3 另一種數組聲明語法 41
3.12 關於字元串的一些說明 41
第4章 運算符 43
4.1 算術運算符 43
4.1.1 基本算術運算符 43
4.1.2 求模運算符 44
4.1.3 算術與賦值複合運算符 44
4.1.4 自增與自減運算符 45
4.2 位運算符 46
4.2.1 位邏輯運算符 47
4.2.2 左移 49
4.2.3 右移 50
4.2.4 無符號右移 51
4.2.5 位運算符與賦值的組合 52
4.3 關係運算符 52
4.4 布爾邏輯運算符 53
4.5 賦值運算符 54
4.6 “?”運算符 55
4.7 運算符的優先權 55
4.8 使用圓括弧 56
第5章 控制語句 57
5.1 Java的選擇語句 57
5.1.1 if語句 57
5.1.2 switch語句 59
5.2 疊代語句 62
5.2.1 while語句 63
5.2.2 do-while語句 64
5.2.3 for語句 66
5.2.4 for循環的for-each版本 68
5.2.5 嵌套的循環 72
5.3 跳轉語句 72
5.3.1 使用break語句 72
5.3.2 使用continue語句 75
5.3.3 return語句 76
第6章 類 77
6.1 類的基礎知識 77
6.1.1 類的一般形式 77
6.1.2 一個簡單的類 78
6.2 聲明對象 79
6.3 為對象引用變數賦值 80
6.4 方法 81
6.4.1 為Box類添加方法 81
6.4.2 返回值 83
6.4.3 添加帶參數的方法 84
6.5 構造函式 85
6.6 this關鍵字 87
6.7 垃圾回收 88
6.8 堆疊類 88
第7章 方法和類的深入分析 91
7.1 重載方法 91
7.2 將對象用作參數 94
7.3 實參傳遞的深入分析 96
7.4 返回對象 97
7.5 遞歸 98
7.6 訪問控制 100
7.7 理解static 102
7.8 final介紹 104
7.9 重新審視數組 104
7.10 嵌套類和內部類 105
7.11 String類介紹 107
7.12 使用命令行參數 109
7.13 varargs:可變長度實參 110
7.13.1 重載varargs方法 112
7.13.2 varargs方法與模糊性 113
第8章 繼承 115
8.1 繼承的基礎知識 115
8.1.1 成員訪問與繼承 116
8.1.2 一個更實際的例子 117
8.1.3 超類變數可以引用子類對象 118
8.2 使用super關鍵字 119
8.2.1 使用super調用超類的構造函式 119
8.2.2 super的另一種用法 122
8.3 創建多級繼承層次 123
8.4 構造函式的執行時機 125
8.5 方法重寫 126
8.6 動態方法調度 128
8.6.1 重寫方法的目的 129
8.6.2 套用方法重寫 129
8.7 使用抽象類 130
8.8 在繼承中使用final關鍵字 132
8.8.1 使用final關鍵字阻止重寫 132
8.8.2 使用final關鍵字阻止繼承 133
8.9 Object類 133
第9章 包和接口 135
9.1 包 135
9.1.1 定義包 135
9.1.2 包查找與CLASSPATH 136
9.1.3 一個簡短的包示例 136
9.2 包和成員訪問 137
9.3 導入包 140
9.4 接口 141
9.4.1 定義接口 141
9.4.2 實現接口 142
9.4.3 嵌套接口 144
9.4.4 套用接口 144
9.4.5 接口中的變數 147
9.4.6 接口可以擴展 148
9.5 默認接口方法 149
9.5.1 默認方法的基礎知識 149
9.5.2 一個更加實用的例子 151
9.5.3 多級繼承的問題 151
9.6 在接口中使用靜態方法 152
9.7 私有接口方法 152
9.8 關於包和接口的後說明 153
第10章 異常處理 155
10.1 異常處理的基礎知識 155
10.2 異常類型 155
10.3 未捕獲的異常 156
10.4 使用try和catch 157
10.5 多條catch子句 158
10.6 嵌套的try語句 159
10.7 throw 161
10.8 throws 162
10.9 finally 162
10.10 Java的內置異常 164
10.11 創建自己的異常子類 165
10.12 鏈式異常 166
10.13 其他三個異常特性 167
10.14 使用異常 168
第11章 多執行緒編程 169
11.1 Java執行緒模型 169
11.1.1 執行緒優先權 170
11.1.2 同步 170
11.1.3 訊息傳遞 171
11.1.4 Thread類和Runnable接口 171
11.2 主執行緒 171
11.3 創建執行緒 172
11.3.1 實現Runnable接口 172
11.3.2 擴展Thread類 174
11.3.3 選擇一種創建方式 175
11.4 創建多個執行緒 175
11.5 使用isAlive()和join()方法 176
11.6 執行緒優先權 178
11.7 同步 179
11.7.1 使用同步方法 179
11.7.2 synchronized語句 180
11.8 執行緒間通信 182
11.9 掛起、恢復與停止執行緒 187
11.10 獲取執行緒的狀態 189
11.11 使用工廠方法創建和啟動執行緒 189
11.12 使用多執行緒 190
第12章 枚舉、自動裝箱與註解 191
12.1 枚舉 191
12.1.1 枚舉的基礎知識 191
12.1.2 values()和valueOf()方法 193
12.1.3 Java枚舉是類類型 194
12.1.4 枚舉繼承自Enum類 195
12.1.5 另一個枚舉示例 196
12.2 類型封裝器 198
12.2.1 Character封裝器 198
12.2.2 Boolean封裝器 198
12.2.3 數值類型封裝器 198
12.3 自動裝箱 199
12.3.1 自動裝箱與方法 200
12.3.2 表達式中發生的自動裝箱/拆箱 201
12.3.3 布爾型和字元型數值的自動裝箱/
拆箱 202
12.3.4 自動裝箱/拆箱有助於防止錯誤 202
12.3.5 一些警告 203
12.4 註解 203
12.4.1 註解的基礎知識 203
12.4.2 指定保留策略 204
12.4.3 在運行時使用反射獲取註解 204
12.4.4 AnnotatedElement接口 208
12.4.5 使用默認值 208
12.4.6 標記註解 209
12.4.7 單成員註解 210
12.4.8 內置註解 211
12.5 類型註解 213
12.6 重複註解 216
第13章 I/O、帶資源的try語句以及其他
主題 219
13.1 I/O的基礎知識 219
13.1.1 流 219
13.1.2 位元組流和字元流 219
13.1.3 預定義流 221
13.2 讀取控制台輸入 221
13.2.1 讀取字元 222
13.2.2 讀取字元串 222
13.3 向控制台寫輸出 223
13.4 PrintWriter類 224
13.5 讀/寫檔案 225
13.6 自動關閉檔案 229
13.7 transient和volatile修飾符 231
13.8 使用instanceof運算符 232
13.9 strictfp 233
13.10 本地方法 234
13.11 使用assert 234
13.12 靜態導入 236
13.13 通過this()調用重載的構造函式 238
13.14 緊湊API配置檔案 239
第14章 泛型 241
14.1 什麼是泛型 241
14.2 一個簡單的泛型示例 241
14.2.1 泛型只使用引用類型 244
14.2.2 基於不同類型參數的泛型類型
是不同的 244
14.2.3 泛型提升類型安全性的原理 244
14.3 帶兩個類型參數的泛型類 246
14.4 泛型類的一般形式 247
14.5 有界類型 247
14.6 使用通配符參數 249
14.7 創建泛型方法 255
14.8 泛型接口 257
14.9 原始類型與遺留代碼 259
14.10 泛型類層次 260
14.10.1 使用泛型超類 260
14.10.2 泛型子類 262
14.10.3 泛型層次中的運行時類型比較 263
14.10.4 強制轉換 265
14.10.5 重寫泛型類的方法 265
14.11 泛型的類型推斷 266
14.12 擦除 267
14.13 模糊性錯誤 268
14.14 使用泛型的一些限制 269
14.14.1 不能實例化類型參數 269
14.14.2 對靜態成員的一些限制 269
14.14.3 對泛型數組的一些限制 270
14.14.4 對泛型異常的限制 271
第15章 lambda表達式 273
15.1 lambda表達式簡介 273
15.1.1 lambda表達式的基礎知識 273
15.1.2 函式式接口 274
15.1.3 幾個lambda表達式示例 275
15.2 塊lambda表達式 277
15.3 泛型函式式接口 278
15.4 作為參數傳遞lambda表達式 280
15.5 lambda表達式與異常 282
15.6 lambda表達式和變數捕獲 282
15.7 方法引用 283
15.7.1 靜態方法的方法引用 283
15.7.2 實例方法的方法引用 284
15.7.3 泛型中的方法引用 287
15.8 構造函式引用 289
15.9 預定義的函式式接口 293
第16章 模組 295
16.1 模組基礎知識 295
16.1.1 簡單的模組示例 295
16.1.2 編譯、運行個模組示例 298
16.1.3 requires和exports 299
16.2 java.base和平台模組 299
16.3 舊代碼和未命名的模組 300
16.4 導出到特定的模組 300
16.5 使用requires transitive 301
16.6 使用服務 304
16.6.1 服務和服務提供程式的基礎知識 304
16.6.2 基於服務的關鍵字 305
16.6.3 基於模組的服務示例 305
16.7 模組圖 310
16.8 三個特殊的模組特性 310
16.8.1 open模組 310
16.8.2 opens語句 310
16.8.3 requires static 311
16.9 jlink工具和模組JAR檔案介紹 311
16.9.1 連結exploded directory中的檔案 311
16.9.2 連結模組化的JAR檔案 311
16.9.3 JMOD檔案 312
16.10 層與自動模組簡述 312
16.11 小結 312
第Ⅱ部分 Java庫
第17章 字元串處理 315
17.1 String類的構造函式 315
17.2 字元串的長度 317
17.3 特殊的字元串操作 317
17.3.1 字元串字面值 317
17.3.2 字元串連線 317
17.3.3 字元串和其他數據類型的連線 318
17.3.4 字元串轉換和toString()方法 318
17.4 提取字元 319
17.4.1 charAt() 319
17.4.2 getChars() 319
17.4.3 getBytes() 320
17.4.4 toCharArray() 320
17.5 比較字元串 320
17.5.1 equals()和equalsIgnoreCase() 320
17.5.2 regionMatches() 321
17.5.3 startsWith()和endsWith() 321
17.5.4 equals()與== 321
17.5.5 compareTo() 322
17.6 查找字元串 323
17.7 修改字元串 324
17.7.1 substring() 324
17.7.2 concat() 325
17.7.3 replace() 325
17.7.4 trim() 325
17.8 使用valueOf()轉換數據 326
17.9 改變字元串中字元的大小寫 326
17.10 連線字元串 327
17.11 其他String方法 327
17.12 StringBuffer類 328
17.12.1 StringBuffer類的構造函式 328
17.12.2 length()與capacity() 329
17.12.3 ensureCapacity() 329
17.12.4 setLength() 329
17.12.5 charAt()與setCharAt() 329
17.12.6 getChars() 330
17.12.7 append() 330
17.12.8 insert() 330
17.12.9 reverse() 331
17.12.10 delete()與deleteCharAt() 331
17.12.11 replace() 332
17.12.12 substring() 332
17.12.13 其他StringBuffer方法 332
17.13 StringBuilder類 333
第18章 探究java.lang 335
18.1 基本類型封裝器 335
18.1.1 Number 336
18.1.2 Double與Float 336
18.1.3 理解isInfinite()與isNaN() 338
18.1.4 Byte、Short、Integer和Long 339
18.1.5 Character 346
18.1.6 對Unicode代碼點的附加支持 348
18.1.7 Boolean 349
18.2 Void類 349
18.3 Process類 349
18.4 Runtime類 350
18.4.1 記憶體管理 351
18.4.2 執行其他程式 352
18.5 Runtime.Version 353
18.6 ProcessBuilder類 353
18.7 System類 355
18.7.1 使用currentTimeMillis()計時程式的
執行 356
18.7.2 使用arraycopy()方法 357
18.7.3 環境屬性 357
18.8 System.Logger和System.Logger
Finder 358
18.9 Object類 358
18.10 使用clone()方法和Cloneable
接口 358
18.11 Class類 360
18.12 ClassLoader類 362
18.13 Math類 362
18.13.1 三角函式 362
18.13.2 指數函式 363
18.13.3 捨入函式 363
18.13.4 其他數學方法 364
18.14 StrictMath類 365
18.15 Compiler類 365
18.16 Thread類、ThreadGroup類和
Runnable接口 366
18.16.1 Runnable接口 366
18.16.2 Thread類 366
18.16.3 ThreadGroup類 368
18.17 ThreadLocal和InheritableThread
Local類 371
18.18 Package類 371
18.19 Module類 372
18.20 ModuleLayer類 372
18.21 RuntimePermission類 372
18.22 Throwable類 373
18.23 SecurityManager類 373
18.24 StackTraceElement類 373
18.25 StackWalker類和StackWalker.
StackFrame接口 373
18.26 Enum類 373
18.27 ClassValue類 374
18.28 CharSequence接口 374
18.29 Comparable接口 374
18.30 Appendable接口 375
18.31 Iterable接口 375
18.32 Readable接口 375
18.33 AutoCloseable接口 375
18.34 Thread.UncaughtExceptionHandler
接口 376
18.35 java.lang子包 376
18.35.1 java.lang.annotation 376
18.35.2 java.lang.instrument 376
18.35.3 java.lang.invoke 376
18.35.4 java.lang.module 376
18.35.5 java.lang.management 376
18.35.6 java.lang.ref 376
18.35.7 java.lang.reflect 377
第19章 java.util第1部分:集合框架 379
19.1 集合概述 380
19.2 集合接口 380
19.2.1 Collection接口 381
19.2.2 List接口 382
19.2.3 Set接口 384
19.2.4 SortedSet接口 384
19.2.5 NavigableSet接口 385
19.2.6 Queue接口 385
19.2.7 Deque接口 386
19.3 集合類 387
19.3.1 ArrayList類 388
19.3.2 LinkedList類 390
19.3.3 HashSet類 391
19.3.4 LinkedHashSet類 392
19.3.5 TreeSet類 392
19.3.6 PriorityQueue類 393
19.3.7 ArrayDeque類 394
19.3.8 EnumSet類 395
19.4 通過疊代器訪問集合 395
19.4.1 使用疊代器 396
19.4.2 使用for-each循環替代疊代器 398
19.5 Spliterator 398
19.6 在集合中存儲用戶定義的類 400
19.7 RandomAccess接口 401
19.8 使用映射 401
19.8.1 映射接口 402
19.8.2 映射類 406
19.9 比較器 409
19.10 集合算法 415
19.11 Arrays類 420
19.12 遺留的類和接口 423
19.12.1 Enumeration接口 424
19.12.2 Vector類 424
19.12.3 Stack類 427
19.12.4 Dictionary類 428
19.12.5 Hashtable類 429
19.12.6 Properties類 431
19.12.7 使用store()和load()方法 434
19.13 集合小結 435
第20章 java.util第2部分:更多實用
工具類 437
20.1 StringTokenizer類 437
20.2 BitSet類 438
20.3 Optional、OptionalDouble、
OptionalInt和OptionalLong 440
20.4 Date類 442
20.5 Calendar類 443
20.6 GregorianCalendar類 445
20.7 TimeZone類 446
20.8 SimpleTimeZone類 447
20.9 Locale類 448
20.10 Random類 449
20.11 Timer和TimerTask類 450
20.12 Currency類 452
20.13 Formatter類 453
20.13.1 Formatter類的構造函式 453
20.13.2 Formatter類的方法 453
20.13.3 格式化的基礎知識 454
20.13.4 格式化字元串和字元 455
20.13.5 格式化數字 455
20.13.6 格式化時間和日期 456
20.13.7 %n和%%說明符 458
20.13.8 指定小欄位寬度 458
20.13.9 指定精度 459
20.13.10 使用格式標誌 460
20.13.11 對齊輸出 460
20.13.12 空格、“ ”、“0”以及“(”
標誌 461
20.13.13 逗號標誌 462
20.13.14 “#”標誌 462
20.13.15 大寫選項 462
20.13.16 使用參數索引 462
20.13.17 關閉Formatter對象 463
20.13.18 printf()方法 464
20.14 Scanner類 464
20.14.1 Scanner類的構造函式 464
20.14.2 掃描的基礎知識 465
20.14.3 一些Scanner示例 467
20.14.4 設定定界符 470
20.14.5 其他Scanner特性 471
20.15 ResourceBundle、ListResourceBundle
和PropertyResourceBundle類 472
20.16 其他實用工具類和接口 475
20.17 java.util子包 475
20.17.1 java.util.concurrent、java.util.concurrent.
atomic和java.util.concurrent.locks 476
20.17.2 java.util.function 476
20.17.3 java.util.jar 478
20.17.4 java.util.logging 478
20.17.5 java.util.prefs 478
20.17.6 java.util.regex 478
20.17.7 java.util.spi 478
20.17.8 java.util.stream 478
20.17.9 java.util.zip 478
第21章 輸入/輸出:探究java.io 479
21.1 I/O類和接口 479
21.2 File類 480
21.2.1 目錄 482
21.2.2 使用FilenameFilter接口 483
21.2.3 listFiles()方法 483
21.2.4 創建目錄 484
21.3 AutoCloseable、Closeable和
Flushable接口 484
21.4 I/O異常 484
21.5 關閉流的兩種方式 484
21.6 流類 485
21.7 位元組流 486
21.7.1 InputStream類 486
21.7.2 OutputStream類 486
21.7.3 FileInputStream類 487
21.7.4 FileOutputStream類 488
21.7.5 ByteArrayInputStream類 490
21.7.6 ByteArrayOutputStream類 491
21.7.7 過濾的位元組流 492
21.7.8 緩衝的位元組流 492
21.7.9 SequenceInputStream類 495
21.7.10 PrintStream類 496
21.7.11 DataOutputStream和
DataInputStream類 498
21.7.12 RandomAccessFile類 499
21.8 字元流 500
21.8.1 Reader類 500
21.8.2 Writer類 501
21.8.3 FileReader類 501
21.8.4 FileWriter類 502
21.8.5 CharArrayReader類 503
21.8.6 CharArrayWriter類 504
21.8.7 BufferedReader類 505
21.8.8 BufferedWriter類 506
21.8.9 PushbackReader類 506
21.8.10 PrintWriter類 507
21.9 Console類 508
21.10 串列化 509
21.10.1 Serializable接口 509
21.10.2 Externalizable接口 509
21.10.3 ObjectOutput接口 509
21.10.4 ObjectOutputStream類 510
21.10.5 ObjectInput接口 510
21.10.6 ObjectInputStream類 511
21.10.7 串列化示例 512
21.11 流的優點 513
第22章 探究NIO 515
22.1 NIO類 515
22.2 NIO的基礎知識 515
22.2.1 緩衝區 515
22.2.2 通道 517
22.2.3 字元集和選擇器 518
22.3 NIO.2對NIO的增強 518
22.3.1 Path接口 518
22.3.2 Files類 519
22.3.3 Path接口 521
22.3.4 檔案屬性接口 521
22.3.5 FileSystem、FileSystems和
FileStore類 522
22.4 使用NIO系統 522
22.4.1 為基於通道的I/O使用NIO 523
22.4.2 為基於流的I/O使用NIO 529
22.4.3 為路徑和檔案系統操作使用NIO 531
第23章 聯網 539
23.1 聯網的基礎知識 539
23.2 聯網類和接口 540
23.3 InetAddress類 540
23.3.1 工廠方法 540
23.3.2 實例方法 541
23.4 Inet4Address類和Inet6Address類 541
23.5 TCP/IP客戶端套接字 542
23.6 URL類 544
23.7 URLConnection類 545
23.8 HttpURLConnection類 547
23.9 URI類 549
23.10 cookie 549
23.11 TCP/IP伺服器套接字 549
23.12 數據報 549
23.12.1 DatagramSocket類 550
23.12.2 DatagramPacket類 550
23.12.3 數據報示例 551
第24章 事件處理 553
24.1 兩種事件處理機制 553
24.2 委託事件模型 553
24.2.1 事件 554
24.2.2 事件源 554
24.2.3 事件監聽器 554
24.3 事件類 554
24.3.1 ActionEvent類 555
24.3.2 AdjustmentEvent類 556
24.3.3 ComponentEvent類 556
24.3.4 ContainerEvent類 557
24.3.5 FocusEvent類 557
24.3.6 InputEvent類 558
24.3.7 ItemEvent類 558
24.4 KeyEvent類 559
24.4.1 MouseEvent類 559
24.4.2 MouseWheelEvent類 560
24.4.3 TextEvent類 561
24.4.4 WindowEvent類 561
24.5 事件源 562
24.6 事件監聽器接口 562
24.6.1 ActionListener接口 563
24.6.2 AdjustmentListener接口 563
24.6.3 ComponentListener接口 563
24.6.4 ContainerListener接口 563
24.6.5 FocusListener接口 563
24.6.6 ItemListener接口 563
24.6.7 KeyListener接口 564
24.6.8 MouseListener接口 564
24.6.9 MouseMotionListener接口 564
24.6.10 MouseWheelListener接口 564
24.6.11 TextListener接口 564
24.6.12 WindowFocusListener接口 564
24.6.13 WindowListener接口 564
24.7 使用委託事件模型 565
24.7.1 一些重要的GUI概念 565
24.7.2 處理滑鼠事件 565
24.7.3 處理鍵盤事件 568
24.8 適配器類 571
24.9 內部類 572
第25章 AWT介紹:使用視窗、圖形和
文本 577
25.1 AWT類 577
25.2 視窗基本元素 579
25.2.1 Component類 579
25.2.2 Container類 579
25.2.3 Panel類 580
25.2.4 Window類 580
25.2.5 Frame類 580
25.2.6 Canvas類 580
25.3 使用框架視窗 580
25.3.1 設定視窗的尺寸 580
25.3.2 隱藏和顯示視窗 580
25.3.3 設定視窗的標題 581
25.3.4 關閉框架視窗 581
25.3.5 paint()方法 581
25.3.6 顯示字元串 581
25.3.7 設定前景色和背景色 581
25.3.8 請求重畫 582
25.3.9 創建基於框架的應用程式 583
25.4 使用圖形 583
25.4.1 繪製直線 583
25.4.2 繪製矩形 583
25.4.3 繪製橢圓和圓 584
25.4.4 繪製弧形 584
25.4.5 繪製多邊形 584
25.4.6 演示繪製方法 584
25.4.7 改變圖形的大小 586
25.5 使用顏色 587
25.5.1 Color類的方法 587
25.5.2 設定當前圖形的顏色 588
25.5.3 一個演示顏色的applet 588
25.6 設定繪圖模式 589
25.7 使用字型 590
25.7.1 確定可用字型 591
25.7.2 創建和選擇字型 592
25.7.3 獲取字型信息 594
25.8 使用FontMetrics管理文本輸出 595
第26章 使用AWT控制項、布局管理器和
選單 599
26.1 AWT控制項的基礎知識 599
26.1.1 添加和移除控制項 599
26.1.2 回響控制項 600
26.1.3 HeadlessException異常 600
26.2 使用標籤 600
26.3 使用命令按鈕 601
26.4 使用複選框 604
26.5 使用複選框組 606
26.6 使用下拉列表 607
26.7 使用列表框 609
26.8 管理滾動條 611
26.9 使用TextField 613
26.10 使用TextArea 615
26.11 理解布局管理器 617
26.11.1 FlowLayout布局管理器 617
26.11.2 BorderLayout布局管理器 618
26.11.3 使用Insets 619
26.11.4 GridLayout布局管理器 620
26.11.5 CardLayout布局管理器 621
26.11.6 GridBagLayout布局管理器 623
26.12 選單欄和選單 627
26.13 對話框 630
26.14 關於重寫paint()方法 634

作者簡介

Herbert Schildt是一位暢銷書作家,在幾乎30年的時間裡,他撰寫了大量關於編程的圖書。Herbert是Java語言的權威。他撰寫的編程書籍在世界範圍內銷售了數百萬冊,並且已經被翻譯成所有主要的非英語語言。他撰寫了大量Java方面的書籍,包括Java:A Beginner’s Guide、Herb Schildt’s Java Programming Cookbook、Introducing JavaFX 8 Programming和Swing:A Beginner’s Guide,還撰寫了許多關於C、C 和C#的圖書。儘管對計算機的所有方面都感興趣,但是他主要關注計算機語言。Schildt獲得了美國伊利諾伊大學的本科和研究生學位。他的個人網站是www.HerbSchildt.com。

相關詞條

熱門詞條

聯絡我們