Java學習手冊

Java學習手冊

《Java學習手冊》是2011年出版的圖書,作者是陳丹丹、李鍾尉、李偉。本書以初學者為核心,全面介紹了使用Java進行程式開發的各種技術。

宣傳語

編程成功之路從此開始!

內 容 簡 介

在內容編排上由淺入深,讓讀者循序漸進地掌握編程技術;在內容講解上結合豐富的圖解和形象的比喻,幫助讀者理解“晦澀難懂”的技術;在內容形式上附有大量的提示、技巧、說明、情景套用、實戰練習等欄目,夯實讀者編程技術,豐富編程經驗。全書共20章,分為4篇進行介紹,第1篇為基礎篇,包括Java開發前奏、搭建Java開發環境、 紮實Java語言基本語法、掌握算法和流程控制、使用Eclipse開發工具、探秘面向對象程式設計、初探Java數組;第2篇為核心篇,包括字元串處理、集合類、使用異常處理機制、掌握Java的I/O技術、精通多執行緒技術、枚舉與泛型;第3篇為高級篇,包括Swing基礎知識、JDBC技術、Swing高級組件、GUI事件處理機制、網路程式設計;第4篇為實戰篇,包括進銷存管理系統、 企業內部通信系統。

本書附有配套光碟,光碟中提供有本書所有程式的原始碼、重點和難點的實例視頻錄像,其中,原始碼全部經過精心測試,能夠在Windows 2000、Windows XP、Windows 2003、Windows 7中編譯和運行。

本書適合Java編程愛好者、初學者和中級開發人員使用,也適合作為大中專院校和培訓機構的教材使用。

前 言

讓想要學習編程的人員都能夠學會編程!

我可以學會編程嗎?

當然可以!即使你沒有基礎,即使你是非計算機專業畢業,即使你已過而立之年,甚至是只有國中畢業。我國最早的計算機反病毒專家、江民防毒軟體創始人王江民,國中畢業,38歲開始學習計算機,因為英語基礎不好,很多人認為他根本沒有學會編程的可能。但王江民沒有感覺自己不行,硬是克服各種困難,成為我國最成功的程式開發人員之一。

王江民學習編程的訣竅是什麼?

是實踐。王江民說:“計算機是實踐性非常強的學科。我搞計算機是用計算機,不是學計算機。” 王江民首先學的是BASIC語言。當時,為了輔導上國小的孩子,對軟體一片空白的王江民竟然決定編寫程式代替家長輔導。短短3個月,王江民就邊學邊實踐,編好了一套數學語文教學軟體,試過後效果奇佳,參加電腦報軟體交流,被評為第二名,譽為“教育軟體第一”。因為這次成功,極大激發了王江民對編程的興趣,使他從此把精力轉到了軟體領域。

所以說:實踐,是學習編程的最好方法,也是培養編程樂趣、捕獲發展機遇的最佳途徑。值得注意的是,不要等學完全部知識才去實踐,要隨時學習,隨時實踐,哪怕只學了一點點。

這本書適合我嗎?

非常適合!本書是學習Java編程的最佳選擇。所講內容通俗易懂,易於學習,貼近實踐。對於學習中的難點、重點,注意結合實際開發,採用情景套用的方式進行介紹和練習。本書光碟提供了完整的視頻講座,可以對照本書內容循序漸進進行學習。利用本書,不但可以學會編程,更能激發學習者理論聯繫實際的熱情,開發出符合市場需求的軟體和項目。

本書內容

本書分為基礎篇、核心篇、高級篇和實戰篇,共20章內容,內容安排依照從零起步、循序漸進的學習順序,全面提高讀者學、練、用的能力。本書知識結構如下圖所示。

Java學習手冊 Java學習手冊

本書特色

 最基礎、最易學

為了讓初學者易於學習,本書力求做到內容通俗易懂、講解寓教於樂。對於初學者難以理解的專業術語,本書都進行了形象的解釋,有些還提供了例圖。書後附錄中又單獨將專業術語提煉出來,供讀者學習時參考。例如,在講解父類與子類的關係時,為使讀者更容易理解,筆者以圖形、三角形與等邊三角形為例,圖形類可以作為所有圖形的父類,其子類包括三角形、四邊形等,三角形也可以作為父類,其子類包括等邊三角形、等腰三角形等,Java中的繼承關係也是如此,在進行講解時,還配有如下圖所示的圖形。

Java學習手冊 Java學習手冊

語音視頻講座

為了方便讀者學習本書的內容,本書附贈光碟中提供了視頻講座,講解細膩、層次清楚、互動性強,不但可以加深讀者對書中內容的理解,還可以引導讀者掌握“是什麼”、“為什麼”、“怎么辦”、“應注意些什麼”的編程思維能力。所包含的視頻不僅對書中的內容進行了詳細介紹,還對相關的技術進行了有效的擴展,對開發中常犯的各種錯誤給出了視頻解決方案。

 注重實用性

初學者經常會遇到這樣的情況,書中講解的技術能夠理解,但不知道如何套用,例如,在學習抽象類時,讀者能夠自己定義抽象類並且能夠從抽象類派生子類,但卻不知道抽象類能夠做什麼,在哪裡套用抽象類。本書在介紹技術時,注意強調技術的實用性,並且通過實例突出技術的套用價值。對於一些典型的套用,書中通過“情景套用”欄目進行重點介紹。

 實戰互動練習

要掌握一項技術,最佳的方式就是多練習、多實踐。本書每章都提供了多個供讀者實踐的實例任務,讀者可以對照實例檢驗對知識的掌握情況。每個實例任務都分為“題目描述”、“技術指導”和“緊急救援”三部分,其中,“題目描述”給出了實例功能的詳細描述和效果圖,“技術指導”給出了開發思路和關鍵技術,“緊急救援”提供了下載實例源碼和開發文檔的連結地址。

超值DVD光碟

為了幫助讀者學習和使用書中的實例,本書附贈有DVD光碟,裡面不僅提供有書中所有實例項目的原始碼、素材、光碟使用說明書,還提供有視頻專題錄像及5個項目源碼。光碟目錄如下圖所示。

Java學習手冊 Java學習手冊

本書適用人群

本書是一部零基礎編程圖書,非常適合以下人員閱讀:

 零基礎的初學編程人員 國中級程式開發人員

編程愛好者 想學編程的各企、事業在職人員

大中專院校的老師和學生 相關培訓機構的老師和學員

本書參與作者

本書由明日科技組織編寫,參加編寫的有陳丹丹、李鍾尉、李偉、楊麗、顧麗麗、劉玲玲、孟范勝、董大永、李繼業、尹強、張磊、王小科、王軍、趙會東、賽奎春等。由於作者水平有限,疏漏和不足之處在所難免,歡迎廣大讀者提出寶貴意見。

非學無以廣才,非志無以成學。

祝大家讀書快樂!

明日科技

目 錄

第1篇 基礎篇

第1章 Java開發前奏 16

1.1 Java簡介 17

1.1.1 什麼是Java語言 17

1.1.2 與其他語言相比Java的優勢 17

1.1.3 計算機語言中Java近幾年的排行 18

1.1.4 Java的發展史 18

1.1.5 Java成功案例 19

1.2 Java特性 20

1.2.1 Java的套用領域 20

1.2.2 Java語法的特徵 21

1.3 怎么學Java 22

1.3.1 Java程式設計師的成長之路 22

1.3.2 如何學好Java 23

1.4 本章小結 23

第2章 搭建Java開發環境 24

2.1 搭建Java開發環境 25

2.1.1 下載JDK 25

2.1.2 安裝JDK 27

2.1.3 Windows系統下配置和測試JDK 27

2.2 Java程式的開發過程 29

2.3 一個簡單的Java程式 30

2.3.1 構建Java程式 30

2.3.2 編譯和運行Java程式 31

2.3.3 使用Java核心API文檔 31

2.4 實戰練習 32

2.4.1 下載JRE 32

2.4.2 將JDK安裝到D糟 33

2.4.3 編寫程式輸出小豬臉圖像 33

2.5 本章小結 34

第3章 紮實Java語言基本語法 35

3.1 使用常量與變數 36

3.1.1 常量的概念及使用 36

3.1.2 變數的概念及命名規則 37

3.1.3 變數的有效範圍 38

3.2 認識基本的數據類型 41

3.2.1 整數類型 41

3.2.2 浮點類型 43

3.2.3 字元類型 43

3.2.4 布爾類型 44

3.2.5 基本數據類型間的轉換 44

3.3 熟練運用Java運算符 45

3.3.1 賦值運算符 46

3.3.2 算術運算符 46

3.3.3 關係運算符 47

3.3.4 邏輯運算符 48

3.3.5 位運算符 50

3.3.6 其他運算符 53

3.3.7 運算符的優先權別及結合性 55

3.3.8 情景套用一:加密可以這樣簡單 55

3.3.9 情景套用二:位運算實現

3.3.9 兩個變數值的互換 56

3.4 了解Java標識符與關鍵字 56

3.4.1 標識符 57

3.4.2 關鍵字 57

3.5 編碼規範 57

3.5.1 Java命名規範 58

3.5.2 代碼編寫規則 58

3.6 Java程式的注釋 59

3.6.1 單行注釋 59

3.6.2 使用多行注釋 59

3.6.3 文檔注釋的使用 60

3.7 實戰練習 60

3.7.1 獲取字元的unicode編碼 60

3.7.2 計算長方形的周長 60

3.7.3 類型轉換實例 61

3.8 本章小結 62

第4章 掌握算法和流程控制 63

4.1 認識算法 64

4.1.1 什麼是算法 64

4.1.2 算法的描述方法 64

4.2 運用分支語句 65

4.2.1 簡單的if條件語句 65

4.2.2 if-else條件語句 66

4.2.3 if-else-if多分支語句 68

4.2.4 switch多分支語句 69

4.2.5 if語句和switch語句的區別 72

4.2.6 情景套用一:根據消費金額計算折扣 73

4.2.7 情景套用二:判斷某一年是否為閏年 74

4.3 學習循環語句 74

4.3.1 for循環語句 74

4.3.2 while循環語句 76

4.3.3 do-while循環語句 78

4.3.4 foreach語句 80

4.3.5 各循環語句間的區別 81

4.4 學習跳轉語句 81

4.4.1 break跳轉語句 81

4.4.2 continue跳轉語句 82

4.4.3 return跳轉語句 82

4.5 實戰練習 83

4.5.1 判斷用戶輸入月份所屬的季節 83

4.5.2 輸出乘法表 83

4.5.3 計算階乘 84

4.6 本章小結 84

第5章 使用Eclipse開發工具 85

5.1 為什麼要使用Eclipse開發工具 86

5.2 Eclipse的工作檯 86

5.2.1 Eclipse工作檯概述 86

5.2.2 透視圖 87

5.2.3 編輯器 88

5.2.4 熟悉Eclipse的選單欄和工具列 89

5.3 怎樣編寫Java程式 90

5.3.1 新建Java項目 90

5.3.2 新建Java類 91

5.3.3 編寫Java代碼 93

5.3.4 運行程式 94

5.3.5 保存並關閉Java項目 94

5.4 探秘Eclipse資源管理 95

5.4.1 導入Java類 95

5.4.2 導入Java項目 96

5.4.3 導出Java項目 97

5.5 本章小結 98

第6章 探秘面向對象程式設計 99

6.1 什麼是面向對象程式設計 100

6.1.1 面向對象程式設計的概述 100

6.1.2 面向對象程式設計的特點 101

6.2 解密類和對象 102

6.2.1 定義類 103

6.2.2 成員變數和局部變數 104

6.2.3 構造方法的概念及用途 105

6.2.4 創建對象 106

6.2.5 使用對象 107

6.2.6 銷毀對象 108

6.3 使用包 108

6.3.1 包的概念 108

6.3.2 創建包 108

6.3.3 使用包中的類 109

6.4 了解Java中的繼承關係 110

6.4.1 繼承的概念 110

6.4.2 創建子類 110

6.4.3 繼承的使用原則 111

6.4.4 使用this關鍵字 112

6.4.5 使用super關鍵字 112

6.5 認識多態技術 113

6.5.1 方法的重載 114

6.5.2 方法的覆蓋 115

6.6 抽象類 116

6.7 final類與final方法 119

6.7.1 final類 119

6.7.2 final方法 120

6.8 掌握Java中的接口 120

6.8.1 定義接口 121

6.8.2 實現接口 121

6.9 情景套用 123

6.9.1 情景套用一:定義不能重寫的方法 123

6.9.2 情景套用二:溫度轉換 124

6.10 實戰練習 125

6.10.1 定義員工類 125

6.10.2 多態方式計算圖像面積 125

6.10.3 求解漢諾塔問題 126

6.11 本章小結 126

第7章 初探數組 127

7.1 一維數組 128

7.1.1 聲明一維數組 128

7.1.2 創建一維數組 128

7.1.3 初始化一維數組 130

7.1.4 使用一維數組 131

7.2 二維數組 133

7.2.1 聲明二維數組 133

7.2.2 創建二維數組 133

7.2.3 初始化二維數組 135

7.2.4 使用二維數組 135

7.3 運算元組 136

7.3.1 複製數組 137

7.3.2 排序數組 138

7.3.3 比較數組 139

7.3.4 搜尋數組 140

7.3.5 填充數組 141

7.3.6 傳遞數組 142

7.4 實戰練習 143

7.4.1 使用冒泡排序法對數組進行排序 143

7.4.2 將二維數組中的行列互換 144

7.5 本章小結 144

第2篇 核心篇

第8章 字元串處理 146

8.1 初識字元串 147

8.1.1 字元串常量 147

8.1.2 聲明字元串變數 147

8.1.3 創建字元串 147

8.2 連線字元串 149

8.2.1 字元串與字元串的連線 149

8.2.2 字元串與其他類型數據的連線 150

8.3 字元串操作 151

8.3.1 比較字元串 152

8.3.2 獲取字元串的長度 154

8.3.3 字元串的大小寫轉換 154

8.3.4 查找字元串 155

8.3.5 獲取字元串的子字元串 157

8.3.6 替換或去除字元串中的空格 157

8.3.7 分割字元串 158

8.4 格式化字元串 159

8.4.1 常規類型的格式化 159

8.4.2 日期和時間字元串格式化 161

8.4.3 情景套用一:格式化當前日期 165

8.4.4 情景套用二:獲取字元串中的漢字個數 166

8.5 使用StringBuilder類 167

8.5.1 創建字元串生成器 167

8.5.2 字元串生成器的套用 168

8.6 使用正則表達式 170

8.7 實戰練習 172

8.7.1 將數字格式化為貨幣字元串 172

8.7.2 判斷字元串中是否包含有數字字元 172

8.7.3 驗證IP位址是否有效 173

8.8 本章小結 173

第9章 集合類 174

9.1 集合類概述 175

9.2 Collection接口 175

9.2.1 addAll()方法 175

9.2.2 removeAll()方法 176

9.2.3 retainAll()方法 177

9.2.4 containsAll()方法 178

9.2.5 toArray(T[] t)方法 179

9.3 List集合 179

9.3.1 List接口的實現類 180

9.3.2 List的用法 180

9.3.3 情景套用:List集合傳遞學生信息 182

9.4 Set集合 183

9.4.1 使用HashSet類 183

9.4.2 使用TreeSet類 185

9.5 Map集合 187

9.5.1 Map接口 187

9.5.2 Map接口的實現類 188

9.5.3 情景套用:實現省市級聯輸出 189

9.6 實戰練習 190

9.6.1 去除List集合中的重複值 190

9.6.2 使用Map集合保存電話信息 191

9.7 本章小結 191

第10章 使用異常處理機制 192

10.1 什麼是異常處理 193

10.2 常見異常列表 193

10.3 Java異常處理 194

10.3.1 錯誤 194

10.3.2 捕獲異常 195

10.4 內置異常類 196

10.4.1 Error類 197

10.4.2 Exception類 197

10.5 自定義異常 199

10.6 在方法中拋出異常 200

10.6.1 使用throws關鍵字拋出異常 200

10.6.2 使用throw關鍵字拋出異常 201

10.7 異常處理使用原則 202

10.8 實戰練習 202

10.8.1 自定義異常類 202

10.8.2 使用try-catch語句捕獲異常 203

10.8.3 捕捉求負數的公約數異常 203

10.9 本章小結 204

第11章 掌握Java的I/O技術 205

11.1 Java的I/O處理方式 206

11.1.1 I/O的基本模式 206

11.1.2 Java提供的流類 206

11.1.3 輸入流 207

11.1.4 輸出流 208

11.2 以byte為數據單位的流類 208

11.2.1 InputStream類 209

11.2.2 OutputStream類 210

11.3 以char為數據單位的流類 211

11.3.1 Reader類 211

11.3.2 Writer 212

11.4 常用I/O處理方式 213

11.4.1 檔案類 214

11.4.2 檔案的位元組輸入輸出流 216

11.4.3 檔案的字元輸入輸出流 218

11.4.4 帶快取的輸入輸出流 221

11.4.5 對象序列化 223

11.4.6 情景套用一:檔案鎖定 225

11.4.7 情景套用二:將用戶輸入的內容保存到文本檔案 225

11.5 對檔案及資料夾進行操作 226

11.5.1 複製檔案 226

11.5.2 複製資料夾 227

11.5.3 刪除檔案 229

11.5.4 分行寫入檔案 229

11.6 實戰練習 230

11.6.1 字元的簡單加密與解密 230

11.6.2 將用戶信息寫入到檔案 231

11.6.3 獲取磁碟中所有的檔案名稱 231

11.7 本章小結 232

第12章 精通多執行緒技術 233

12.1 執行緒概述 234

12.1.1 進程 234

12.1.2 執行緒 234

12.2 執行緒的創建 235

12.2.1 繼承Thread類 236

12.2.2 實現Runnable接口 237

12.2.3 兩種創建執行緒方式的比較 239

12.3 執行緒的生命周期 239

12.4 執行緒的優先權及執行順序 240

12.4.1 執行緒的優先權 240

12.4.2 執行緒的執行順序 241

12.5 執行緒的控制 244

12.5.1 執行緒的啟動 244

12.5.2 執行緒的掛起 244

12.5.3 結束執行緒 248

12.5.4 執行緒組 249

12.5.5 情景套用一:使用守護執行緒 249

12.5.6 情景套用二:執行緒的插隊 250

12.6 執行緒的同步 251

12.6.1 執行緒安全 252

12.6.2 執行緒同步機制 253

12.7 執行緒通信 254

12.8 多執行緒產生死鎖 258

12.9 實戰練習 258

12.9.1 利用執行緒定時輸出信息 258

12.9.2 查看JVM中的執行緒名 259

12.9.3 查看執行緒的狀態 259

12.10 本章小結 260

第13章 枚舉與泛型 261

13.1 使用枚舉類型 262

13.1.1 使用枚舉類型設定常量 262

13.1.2 深入了解枚舉類型 264

13.1.3 使用枚舉類型的優勢 269

13.1.4 情景套用一:遍歷枚舉接口的元素 269

13.1.5 情景套用二:選擇合適的枚舉元素 270

13.2 使用泛型 270

13.2.1 回顧“向上轉型”與“向下轉型” 271

13.2.2 定義泛型類 272

13.2.3 泛型的常規用法 273

13.2.4 泛型的高級用法 276

13.2.5 泛型總結 278

13.3 實戰練習 278

13.3.1 判斷枚舉類型的值 278

13.3.2 使用通配符定義泛型類 279

13.4 本章小結 279

第3篇 高級篇

第14章 Swing基礎知識 282

14.1 Swing概述 283

14.1.1 Swing特點 283

14.1.2 Swing包 283

14.1.3 常用Swing組件概述 284

14.2 常見窗體 284

14.2.1 JFrame窗體 284

14.2.2 JDialog窗體 286

14.3 掌握基本組件 287

14.3.1 標籤組件 288

14.3.2 按鈕組件 289

14.3.3 文本組件 292

14.3.4 列表組件 294

14.3.5 情景套用一:實現按鈕關鍵字描紅 297

14.3.6 情景套用二:滑鼠經過時按鈕放大 298

14.4 向窗體中添加容器 299

14.4.1 JPanel面板的套用 299

14.4.2 JScrollPane面板的套用 300

14.4.3 分割面板的套用 301

14.4.4 選項卡面板的套用 303

14.5 選擇合理的布局方式 305

14.5.1 靈活指定組件位置的絕對布局 305

14.5.2 窗體默認的邊界布局 306

14.5.3 奇妙的格線布局 307

14.5.4 按指定方向擺放組件的流式布局 308

14.6 常用的事件監聽器 309

14.6.1 事件監聽器概述 309

14.6.2 事件監聽器 310

14.6.3 動作事件(ActionEvent)監聽器 311

14.6.4 焦點事件(FocusEvent)監聽器 312

14.7 實戰練習 313

14.7.1 簡單的計數器 313

14.7.2 通過單選按鈕選擇顯示圖片 313

14.7.3 為文本域設定背景 314

14.8 本章小結 314

第15章 JDBC技術 315

15.1 了解資料庫基礎知識 316

15.1.1 生活中的資料庫 316

15.1.2 了解資料庫的特點及分類 316

15.2 JDBC技術 317

15.2.1 什麼是JDBC技術 317

15.2.2 為什麼要在項目中添加資料庫驅動 317

15.3 認識JDBC中不可缺少的類與接口 318

15.3.1 管理資料庫驅動類DriverManager 318

15.3.2 資料庫連線接口Connection 318

15.3.3 傳送SQL語句接口Statement 319

15.3.4 可執行動態SQL的接口PreparedStatement 319

15.3.5 查詢結果集接口ResultSet 320

15.4 運算元據庫的步驟 320

15.4.1 載入JDBC驅動程式 321

15.4.2 創建資料庫連線 321

15.4.3 執行SQL語句 322

15.4.4 獲得查詢結果 323

15.4.5 關閉連線 323

15.5 常見的數據操作 324

15.5.1 添加數據 324

15.5.2 修改數據 325

15.5.3 刪除數據 326

15.5.4 查詢數據 326

15.5.5 使用預處理語句 328

15.6 實戰練習 330

15.6.1 查詢SQL Server數據表中前三條數據 330

15.6.2 查詢編程詞典9月份的總銷售量 331

15.6.3 笛卡兒乘積查詢 332

15.7 本章小結 332

第16章 Swing高級組件 333

16.1 為窗體添加選單 334

16.1.1 創建選單欄 334

16.1.2 創建選單 334

16.1.3 創建選單項 335

16.1.4 創建彈出式選單 337

16.1.5 創建個性化選單 337

16.2 實現為窗體添加工具列 340

16.2.1 創建工具列 340

16.2.2 為工具列添加工具按鈕 341

16.3 使用對話框 342

16.3.1 打開本地檔案的檔案對話框 342

16.3.2 為用戶提供信息對話框 345

16.3.3 色彩斑斕的顏色選擇對話框 346

16.3.4 實現確認操作的確認對話框 347

16.4 表格組件 349

16.4.1 實現創建表格 349

16.4.2 表格模型 350

16.4.3 維護表格模型 351

16.5 使用系統托盤 354

16.5.1 實現獲取系統托盤 354

16.5.2 怎樣為系統托盤添加圖示 355

16.5.3 添加彈出選單 355

16.6 實戰練習 357

16.6.1 明日版QQ界面設計 357

16.6.2 設計選擇日期的對話框 357

16.6.3 在表格中顯示銷售記錄 358

16.7 本章小結 359

第17章 GUI事件處理機制 360

17.1 掌握窗體事件 361

17.1.1 捕獲窗體焦點變化事件 361

17.1.2 捕獲窗體狀態變化事件 362

17.1.3 捕獲其他窗體事件 363

17.1.4 情景套用一:創建總顯示在最上方的窗體 365

17.1.5 情景套用二:創建內部子窗體 365

17.2 掌握滑鼠操作 366

17.2.1 滑鼠事件監聽器 366

17.2.2 滑鼠事件處理 367

17.3 掌握鍵盤控制事件 368

17.3.1 鍵盤事件監聽器 368

17.3.2 鍵盤事件處理 369

17.4 選項事件 371

17.5 表格模型事件 372

17.6 實戰練習 375

17.6.1 定義只能輸入整數或小數的文本框 375

17.6.2 設定文本對齊方式 375

17.7 本章小結 376

第18章 網路程式設計 377

18.1 網路程式設計基礎 378

18.1.1 區域網路和廣域網 378

18.1.2 網路協定 378

18.2 連線埠與套接字 379

18.2.1 連線埠 379

18.2.2 套接字 380

18.3 學習TCP編程原理 380

18.3.1 什麼是TCP協定 380

18.3.2 掌握TCP編程的常用類 381

18.3.3 如何編寫TCP程式 384

18.4 學習UDP編程原理 385

18.4.1 什麼是UDP協定 386

18.4.2 掌握UDP編程的常用類 386

18.4.3 如何編寫UDP程式 387

18.5 實戰練習 390

18.5.1 聊天室 390

18.5.2 獲取主機名、主機地址和本機地址 390

18.5.3 向客戶機傳送信息 391

18.6 本章小結 392

第4篇 實戰篇

第19章 進銷存管理系統 394

19.1 需求分析 395

19.1.1 需求分析 395

19.1.2 可行性分析 395

19.2 系統設計 395

19.2.1 項目規劃 395

19.2.2 功能結構分析 396

19.3 資料庫設計 396

19.3.1 E-R圖 396

19.3.2 數據表概要說明 398

19.3.3 主要數據表的結構 399

19.4 系統登錄模組設計 401

19.4.1 登錄功能設計 401

19.4.2 系統登錄模組設計 401

19.5 程式主界面的設計 404

19.5.1 創建主視窗 404

19.5.2 初始化程式主界面的initialize()方法 405

19.5.3 添加選單和工具按鈕的方法 406

19.5.4 創建Action對象的addFrameAction()方法 408

19.5.5 獲取功能窗體的getIFrame()方法 410

19.6 基礎信息模組設計 410

19.6.1 商品信息管理模組設計 410

19.6.2 商品添加功能設計 411

19.6.3 設定組件布局位置的

19.6.3 setupComponent()方法 414

19.6.4 商品修改與刪除功能設計 414

19.7 進貨管理模組設計 417

19.7.1 進貨單管理功能設計 417

19.7.2 初始化表格的

14.3.5 initTable()方法 421

19.7.3 初始化商品下拉選擇框的initSpBox()方法 421

19.7.4 初始化進貨單窗體的initTasks類 422

19.7.5 初始化進貨票號文本框的initPiaoHao()方法 423

19.8 銷售管理模組設計 423

19.8.1 銷售單管理功能設計 423

19.8.2 初始化銷售單窗體的initTasks類 425

19.9 庫存管理模組設計 426

19.9.1 庫存檔點功能設計 426

19.9.2 庫存價格調整功能設計 429

19.10 查詢統計模組設計 430

19.10.1 銷售排行功能設計 430

19.10.2 執行銷售排行功能的

14.3.5 事件監聽器 432

19.11 系統設定模組設計 432

19.11.1 操作員管理 432

19.11.2 許可權管理 435

19.12 資料庫模組 437

19.12.1 資料庫連線 437

19.12.2 獲取用戶信息的

14.3.5 getUser()方法 438

19.12.3 添加商品信息的addSp()方法 439

19.12.4 獲取所有商品信息的getSpInfos()方法 439

19.12.5 添加入庫信息的insertRukuInfo()方法 440

19.12.6 獲取最大入庫編號的getRuKuMainMaxId()

14.3.5 方法 441

19.12.7 更新用戶信息的updateUser()方法 442

19.13 本章小結 442

第20章 企業內部通信系統 443

20.1 系統分析 444

20.1.1 需求分析 444

20.1.2 可行性分析 444

20.1.3 編寫項目計畫書 445

20.2 系統設計 447

20.2.1 系統目標 447

20.2.2 系統功能結構 447

20.2.3 資料庫設計 447

20.2.4 系統預覽 449

20.2.5 資料夾組織結構 450

20.3 主窗體設計 450

20.3.1 創建主窗體 451

20.3.2 記錄窗體位置 454

20.4 公共模組設計 455

20.4.1 資料庫操作類 455

20.4.2 系統工具類 460

20.5 系統托盤模組設計 464

20.5.1 系統托盤模組概述 464

20.5.2 系統托盤模組技術分析 464

20.5.3 系統托盤模組實現 465

20.6 系統工具模組設計 466

20.6.1 系統工具模組概述 466

20.6.2 系統工具模組技術分析 467

20.6.3 系統工具模組實現 467

20.7 用戶管理模組設計 472

20.7.1 用戶管理模組概述 472

20.7.2 用戶管理模組技術分析 472

20.7.3 用戶管理模組實現 473

20.8 通信模組設計 477

20.8.1 通信模組概述 477

20.8.2 通信模組技術分析 478

20.8.3 通信模組實現 478

20.9 開發技巧與難點分析 482

20.10 使用JDK 6新增的系統托盤 482

20.11 本章小結 483

附錄A 專業術語表 484

相關詞條

相關搜尋

熱門詞條

聯絡我們