主要內容
本書 分為5章,總計200個實例,書中實例均為一線開發人員精心設計,囊括了開發中經常使用和需要解決的熱點、難點問題。在講解實例時,分別從實例說明、關鍵技術、實現過程、擴展學習四個板塊進行講解。
實例豐富,涵蓋廣泛
本書精選了200個實例,涵蓋了Java進行桌面程式開發各個方面的核心技術,以便讀者積累豐富的開發經驗。
關鍵技術實用、具體
書中所選實例均是項目開發中經常使用的技術,涵蓋了編程中多個方面的各種套用,由一線工程師精心編選而成,可以幫助開發人員解讀該技術的實現過程。讀者在開發時所需的關鍵技術、技巧可以通過本書查找。
書網結合,同步學習
為方便讀者更好地使用本書進行學習,本書提供了強大的網路支持和服務,通過掃描二維碼,可以在移動端閱讀數字電子書和其他擴展內容,也可以在PC端閱讀本書的數字電子書等配套資源,還可以登錄明日學院獲得技術支持。
全彩印刷,重點突出
為還原真實開發環境,本書採用了全彩印刷,可以有效提升編程學習效率,減少閱讀壓力,使開發過程更加輕鬆有趣。
可操作性強
開發人員可以參照本書中的實例,開發出自己的實例,簡單易學,便於積累經驗。
目錄
第1章Java基礎套用....................1
實例001 判斷某一年是否為閏年.......................2
實例002 從控制台接收輸入的身份證號...........3
實例003 為新員工分配部門...............................4
實例004 重定向輸出流實現程式日誌...............6
實例005 用動態數組保存學生姓名...................7
實例006 用List集合傳遞學生信息................10
實例007 利用數組隨機抽取幸運觀眾.............11
實例008 Map映射集合實現省市級聯選擇框 14
實例009 格式化當前日期.................................16
實例010 人民幣金額轉換成大寫格式.............18
實例011 驗證IP位址的有效性.......................21
實例012 鑑別非法電話號碼.............................23
實例013 漢諾塔問題求解.................................25
實例014 ASCII編碼查看器..............................26
實例015 經理與員工的差異.............................28
實例016 簡單的汽車銷售4S店.......................30
實例017 兩隻完全相同的寵物.........................32
實例018 簡單的截圖軟體.................................35
實例019 泛型化的折半查找法.........................36
實例020 查看和修改執行緒名稱.........................38
實例021 簡單的電子時鐘.................................40
實例022 簡單的模擬時鐘.................................43
實例023 簡單的公曆萬年曆.............................45
實例024 判斷日期格式的有效性.....................48
實例025 查看本地時區.....................................50
實例026 計算程式運行時間.............................51
實例027 七星彩號碼生成器.............................52
實例028 大樂透號碼生成器.............................54
實例029 監視JVM記憶體狀態...........................56
第2章 圖形與圖表操作................59
實例030 為圖形填充漸變色.............................60
實例031 繪製藝術圖案.....................................61
實例032 繪製花瓣.............................................63
實例033 裁剪圖片.............................................65
實例034 使用像素值生成圖像.........................67
實例035 水印文字特效.....................................69
實例036 中文驗證碼.........................................70
實例037 圖片驗證碼.........................................72
實例038 帶干擾線的驗證碼.............................74
實例039 圖片半透明特效.................................76
實例040 圖片融合特效.....................................78
實例041 文字跑馬燈特效.................................80
實例042 字幕顯示特效.....................................82
實例043 電影膠片特效.....................................85
實例044 雪花飄落動畫效果.............................87
實例045 水波動畫效果.....................................89
實例046 圖片配對遊戲.....................................93
實例047 小豬走迷宮遊戲.................................96
實例048 拼圖遊戲.............................................99
實例049 海灘捉螃蟹遊戲...............................104
實例050 荒山打獵遊戲...................................107
實例051 打字母遊戲.......................................110
實例052 警察抓小偷.......................................113
實例053 擲骰子...............................................115
實例054 畫梅花...............................................118
實例055 打造自己的開心農場.......................120
實例056 基本餅圖...........................................122
實例057 分離餅圖...........................................124
實例058 創建3D餅圖....................................126
實例059 實現多餅圖.......................................128
實例060 簡單柱形圖.......................................130
實例061 繪製3D柱形圖................................133
實例062 多系列柱形圖...................................136
實例063 多系列3D柱形圖............................139
實例064 基本折線圖.......................................142
實例065 3D折線圖.........................................145
實例066 XY折線圖........................................149
實例067 排序折線圖.......................................152
第3章 文字操作與資料庫..........155
實例068 以樹結構顯示檔案路徑...................156
實例069 檔案批量重命名...............................158
實例070 快速批量移動檔案...........................161
實例071 讀取屬性檔案的單個屬性值...........164
實例072 刪除資料夾中的所有檔案...............165
實例073 修改檔案屬性...................................168
實例074 顯示指定類型的檔案.......................170
實例075 鍵盤錄入內容保存到文本檔案.......172
實例076 逆序輸出數組信息...........................174
實例077 合併多個txt檔案.............................176
實例078 實現檔案簡單加密與解密...............178
實例079 分割大檔案.......................................181
實例080 重新合併分割後的檔案...................184
實例081 向屬性檔案中添加信息...................186
實例082 替換文本檔案內容...........................187
實例083 批量複製指定擴展名的檔案...........190
實例084 投票統計...........................................193
實例085 壓縮所有文本檔案...........................195
實例086 壓縮所有子資料夾...........................197
實例087 在指定目錄下搜尋檔案...................199
實例088 壓縮檔解壓到指定資料夾...............202
實例089 設定RAR壓縮檔密碼.....................204
實例090 深層壓縮資料夾的釋放...................207
實例091 把窗體壓縮成ZIP檔案...................209
實例092 解壓縮Java對象..............................211
實例093 窗體動態載入磁碟檔案...................213
實例094 從XML檔案中讀取數據................216
實例095 分類存儲資料夾中的檔案...............217
實例096 統計文本中的字元數.......................220
實例097 序列化與反序列化對象...................222
實例098 檔案鎖定...........................................225
實例099 使用SAX解析XML元素名稱......226
實例100 使用SAX解析XML元素名稱和內容...............................................228
實例101 使用SAX解析XML元素屬性和屬性值...........................................232
實例102 使用DOM解析XML元素名稱....234
實例103 使用DOM解析XML元素名稱和內容...............................................235
實例104 使用DOM解析XML元素屬性和屬性值...........................................237
第4章 網路安全與多執行緒..........239
實例105 獲取本地主機的域名和主機名.......240
實例106 通過IP位址獲取域名和主機名.....241
實例107 獲取區域網路的所有IP位址.................243
實例108 設定等待連線的逾時時間...............246
實例109 獲取Socket信息..............................248
實例110 接收和傳送Socket信息..................249
實例111 使用Socket通信..............................253
實例112 防止Socket傳遞漢字亂碼..............257
實例113 使用Socket傳輸圖片......................260
實例114 使用Socket傳輸音頻......................262
實例115 使用Socket傳輸視頻......................265
實例116 一個伺服器與一個客戶端通信.......266
實例117 一個伺服器與多個客戶端通信.......269
實例118 客戶端一對多通信...........................272
實例119 客戶端一對一通信...........................273
實例120 聊天室伺服器端...............................277
實例121 聊天室客戶端...................................279
實例122 使用MD5加密................................283
實例123 使用Hmac加密...............................285
實例124 使用DSA加密.................................287
實例125 執行緒的插隊運行...............................289
實例126 使用方法實現執行緒同步...................291
實例127 使用代碼塊實現執行緒同步...............293
實例128 使用特殊域變數實現執行緒同步.......295
實例129 使用重入鎖實現執行緒同步...............297
實例130 使用執行緒局部變數實現執行緒同步....299
實例131 簡單的執行緒通信...............................301
實例132 解決執行緒的死鎖問題.......................304
實例133 使用阻塞佇列實現執行緒同步...........306
實例134 哲學家就餐問題...............................308
實例135 使用信號量實現執行緒同步...............310
實例136 使用原子變數實現執行緒同步...........312
實例137 查看JVM中的執行緒名.....................314
實例138 查看和修改執行緒的優先權...............317
實例139 使用事件分配執行緒更新Swing控制項........................................319
第5章Swing程式設計..............321
實例140 根據桌面大小調整窗體大小...........322
實例141 自定義最大化、最小化和關閉按鈕 323
實例142 設定閃爍的標題欄...........................326
實例143 實現帶背景圖片的窗體...................327
實例144 漸變背景的主界面...........................329
實例145 檔案的保存對話框...........................331
實例146 支持圖片預覽的檔案選擇對話框....333
實例147 右下角彈出信息窗體.......................335
實例148 顏色選擇對話框...............................337
實例149 窗體頂層的進度條...........................339
實例150 窗體抖動效果...................................341
實例151 模擬QQ隱藏窗體...........................342
實例152 百葉窗登場特效...............................344
實例153 框架容器的背景圖片.......................346
實例154 攔截事件的玻璃窗格.......................348
實例155 簡單的每日提示信息.......................350
實例156 震動效果對話框...............................353
實例157 給文本域設定背景圖片...................355
實例158 簡單的字元統計工具.......................357
實例159 能預覽圖片的複選框.......................358
實例160 簡單的計票軟體...............................360
實例161 能顯示圖片的組合框.......................362
實例162 使用滑塊選擇日期...........................365
實例163 模仿記事本的選單欄.......................368
實例164 自定義縱向的選單欄.......................370
實例165 複選框與單選按鈕選單...................373
實例166 包含圖片的彈出選單.......................374
實例167 工具列的實現與套用.......................376
實例168 修改列表項顯示方式.......................377
實例169 修改列表項選擇模式.......................379
實例170 查找特定的列表元素.......................381
實例171 設定表格的選擇模式.......................383
實例172 實現表格的查找功能.......................385
實例173 在表格中套用組合框.......................387
實例174 刪除表格中選中的行.......................390
實例175 實現表格的分頁技術.......................392
實例176 為單元格繪製背景色.......................396
實例177 實現表格的柵欄效果.......................398
實例178 編寫中國省市信息樹.......................400
實例179 為樹節點增加提示信息...................402
實例180 雙擊編輯樹節點功能.......................404
實例181 檢查代碼中的括弧是否匹配...........406
實例182 文檔中顯示自定義圖片...................409
實例183 高亮顯示用戶指定的關鍵字...........410
實例184 使用微調控制項調整時間...................412
實例185 顯示完成情況的進度條...................413
實例186 監視檔案讀入的進度.......................416
實例187 支持圖示的列表控制項.......................418
實例188 實現按鈕關鍵字描紅.......................420
實例189 忙碌的按鈕控制項...............................421
實例190 實現透明效果的表格控制項...............423
實例191 在表格中顯示工作進度百分比.......425
實例192 在表格中顯示圖片...........................428
實例193 按鈕放大效果...................................430
實例194 帶有動畫效果的登錄按鈕...............432
實例195 焦點按鈕的縮放...............................434
實例196 動態載入表格數據...........................436
實例197 石英鐘控制項.......................................438
實例198 日曆控制項...........................................440
實例199 平移面板控制項...................................442
實例200 背景圖面板控制項...............................445
附錄1 Java代碼編寫規範..........447
附錄2 Eclipse常用的快捷鍵......454