Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)

彭東海

  • 出版商: 清華大學
  • 出版日期: 2026-08-01
  • 售價: $299
  • 語言: 簡體中文
  • ISBN: 7302720193
  • ISBN-13: 9787302720195
  • 相關分類: Java 相關技術
  • 下單後立即進貨 (約4週~6週)

  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-1
  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-2
  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-3
  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-4
  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-5
  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-6
  • Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-7
Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)-preview-1

相關主題

商品描述

本書實現了 Java 教學聊天室項目 ,從零開始創建客戶端和服務器端 ,應用了Swing界面設計 、網絡程序設計 、多線程和數據庫程序設計等多種技術 。客戶端實現了用戶界面 、註冊和登錄 、發送聊天信息和事件響應處理等功能 ,服務器端利用數據庫實現了用戶的註冊和登錄驗證 、使用多線程接收和轉發聊天信息,並在數據庫中保存信息等功能 ,項目實現一對一、一對多和多對多聊天功能 。 全書共分3篇:第1篇(任務1~9 )客戶端篇 ,著重介紹客戶端登錄界面、好友列表界面、好友聊天界面和界面之間跳轉的實現 ;第2篇(任務 10~18 )服務器篇 ,著重介紹服務器端界面 、客戶端和服務器端的網絡連接和通信 、聊天信息的接收和轉發 、激活在線好友圖標等功能的實現 ;第3篇(任務 19~25 )數據庫篇,著重介紹利用數據庫完成用戶的註冊和登錄 、好友列表的更新和聊天信息的保存等功能 。在各任務中標註了詳細的實驗步驟 ,本書還提供配套的視頻 、PPT 和代碼 。 本書適合作為高等院校計算機 、軟件工程等專業本科生的實驗教材 ,同時可供對 Java 軟件開發有興趣的開發人員 、廣大科技工作者和研究人員參考。

目錄大綱

目錄

隨書資源

第1篇客 戶 端 篇

任務1第一個簡單的窗體

1.1實驗任務

1.2實現思路

1.3知識點分析

1.3.1JFrame類

1.3.2JLabel控件

1.3.3this.setBounds()方法

1.3.4this關鍵字

1.3.5add()方法

1.4實現代碼

1.5實驗總結

任務2Java教學聊天室登錄窗體的實現1——添加

頂部和底部的控件

2.1實驗任務

2.2實現思路

2.3知識點分析

2.3.1JPanel類

2.3.2ImageIcon類

2.3.3BorderLayout布局

2.3.4setLocationRelativeTo()方法

2.3.5this.setDefaultCloseOperation(JFrame.EXIT_ON_

CLOSE)方法

2.4實現代碼

2.5實驗總結

任務3Java教學聊天室登錄窗體的實現2——添加中間的選項卡

面板

3.1實驗任務

3.2實現思路

3.3知識點分析

3.3.1JTextField類

3.3.2JPasswordField類

3.3.3JCheckBox類

3.3.4JTabbedPane控件

3.3.5GridLayout布局

3.4實現代碼

3.5實驗總結

Java聊天室項目案例全程開發——項目驅動+AI實踐(微課視頻版)

目錄

任務4創建好友列表窗體1——實現卡片布局

4.1實驗任務

4.2實現思路

4.3知識點分析

4.3.1setLayout()方法

4.3.2CardLayout布局

4.3.3getContentPane()方法

4.3.4根窗體(JRootPane)

4.3.5this.setVisible(boolean)方法

4.4實現代碼

4.5實驗總結

任務5創建好友列表窗體2——實現兩張卡片中的列表

5.1實驗任務

5.2實現思路

5.3知識點分析

5.3.1滾動條面板

5.3.2final關鍵字

5.3.3JLabel.LEFT參數

5.3.4對象數組

5.3.5getImage()函數

5.4實現代碼

5.5實驗總結

任務6實現我的好友和陌生人兩張卡片之間的切換

6.1實驗任務

6.2實現思路

6.3知識點分析

6.3.1ActionListener接口

6.3.2addActionListener()方法

6.3.3actionPerformed()函數

6.3.4e.getSource()方法

6.3.5strangerListScrollPane控件

6.4實驗步驟

6.5實驗總結

任務7實現登錄界面到好友列表界面的跳轉

7.1實驗任務

7.2實現思路

7.3知識點分析

7.3.1getText()方法

7.3.2無參和有參構造方法

7.3.3setIconImage(Image image)方法

7.3.4setTitle()方法

7.3.5Override

7.4實驗步驟

7.5實驗總結

任務8實現好友聊天界面

8.1實驗任務

8.2實現思路

8.3知識點分析

8.3.1TextField控件

8.3.2JTextArea控件

8.3.3對象名.append()

8.3.4關於"\r\n"

8.3.5對象名.setForeground(Color.red)

8.4實驗步驟

8.5實驗總結

任務9好友列表界面跳轉到好友聊天界面的實現

9.1實驗任務

9.2實現思路

9.3知識點分析

9.3.1在一個類中實現多接口

9.3.2MouseListener接口

9.3.3對象名.addMouseListener()

9.3.4mouseClicked()函數

9.3.5關於動態改變好友圖標顏色

9.4實驗步驟

9.5實驗總結

第2篇服 務 器 篇

任務10實現服務器端界面

10.1實驗任務

10.2實現思路

10.3知識點分析

10.3.1Socket類

10.3.2ServerSocket類

10.3.3節點流和處理流

10.3.4字節流和字符流

10.3.5異常處理

10.4實驗步驟

10.5實驗總結

任務11啟動服務器並監聽端口

11.1實驗任務

11.2實現思路

11.3知識點分析

11.3.1對象名.accept()

11.3.2Font類

11.3.3IO流

11.3.4對象序列化和反序列化對象的序列化

11.3.5Serializable接口

11.4實驗步驟

11.5實驗總結

任務12客戶端連接服務器

12.1實驗任務

12.2實現思路

12.3知識點分析

12.3.1IOException類

12.3.2printStackTrace()方法

12.3.3主機名

12.3.4IP地址的兩種分類方式

12.3.5YychatClientConnection類

12.4實驗步驟

12.5實驗總結

任務13客戶端通過Socket對象發送登錄信息到服務器端

13.1實驗任務

13.2實現思路

13.3知識點分析

13.3.1對象名.getPassword()

13.3.2OutputStream類

13.3.3ObjectOutputStream類

13.3.4writeObject()方法

13.3.5ObjectInputStream類

13.4實驗步驟

13.5實驗總結

任務14服務器端密碼驗證的實現

14.1實驗任務

14.2實現思路

14.3知識點分析

14.3.1interface接口

14.3.2getInputStream()方法

14.3.3readObject()方法

14.3.4equals()方法

14.3.5解決多次登錄用戶的問題 

14.4實驗步驟

14.5實驗總結

任務15客戶端發送聊天信息到服務器端

15.1實驗任務

15.2實現思路

15.3知識點分析

15.3.1線程

15.3.2進程

15.3.3Thread類

15.3.4Runnable接口

15.3.5多線程處理

15.4實驗步驟

15.5實驗總結

任務16服務器轉發聊天信息到接收方

16.1實驗任務

16.2實現思路

16.3知識點分析

16.3.1HashMap類

16.3.2線程同步與通信

16.3.3線程池

16.3.4泛型

16.3.5解決轉發時接收空指針的問題

16.4實驗步驟

16.5實驗總結

任務17激活在線好友圖標

17.1實驗任務

17.2實現思路

17.3知識點分析

17.3.1setEnabled()方法

17.3.2Integer.valueOf()方法

17.3.3split()方法

17.3.4it.hasNext()方法

17.3.5keySet()方法

17.4實驗步驟

17.5實驗總結

任務18激活新上線好友圖標

18.1實驗任務

18.2實現思路

18.3知識點分析

18.3.1Iterator接口

18.3.2Model.MessageType接口中新增的兩個成員

18.3.3sendMessage()方法

18.3.4服務器端新增的消息處理

18.3.5客戶端新增的activeNewOnlineFriendIcon()

18.4實驗步驟

18.5實驗總結

第3篇數 據 庫 篇

任務19使用數據庫實現用戶登錄驗證

19.1實驗任務

19.2實現思路

19.3知識點分析

19.3.1JDBC

19.3.2JDBC驅動程序

19.3.3PreparedStatement接口

19.3.4Connection接口

19.3.5SQLException類

19.4實驗步驟

19.5實驗總結

任務20用戶登錄驗證的數據庫代碼封裝

20.1實驗任務

20.2實現思路

20.3知識點分析

20.3.1ResultSet接口

20.3.2getConnection()方法

20.3.3loginValidate()方法

20.3.4seek()方法

20.3.5insert()方法

20.4實驗步驟

20.5實驗總結

任務21註冊新用戶到user表中

21.1實驗任務

21.2實現思路

21.3知識點分析

21.3.1setter方法

21.3.2getter方法

21.3.3JOptionPane類

21.3.4showMessageDialog方法

21.3.5registerUser方法

21.4實驗步驟

21.5實驗總結

任務22使用數據庫中的好友來更新好友列表

22.1實驗任務

22.2實現思路

22.3知識點分析

22.3.1currentTimeMillis()方法

22.3.2insertIntoUser方法

22.3.3registerUser方法

22.3.4removeAll 方法

22.3.5好友信息的傳輸

22.4實驗步驟

22.5實驗總結

任務23添加新好友後更新好友列表

23.1實驗任務

23.2實現思路

23.3知識點分析

23.3.1updateFriendList()方法

23.3.2在DBUtil類中新增seekUser()方法

23.3.3setContentLength方法

23.3.4executeQuery方法

23.3.5處理一個來自客戶端的添加好友請求

23.4實驗步驟

23.5實驗總結

任務24保存聊天消息到message表中

24.1實驗任務

24.2實現思路

24.3知識點分析

24.3.1sendTime字段

24.3.2message表

24.3.3saveMessage()方法

24.3.4executeUpdate方法

24.3.5Date類

24.4實驗步驟

24.5實驗總結

任務25用戶退出後關閉其服務線程

25.1實驗任務

25.2實現思路

25.3知識點分析

25.3.1WindowListener

25.3.2重寫windowClosing()方法

25.3.3線程的創建和啟動

25.3.4服務器端處理客戶端退出

25.3.5客戶端對用戶退出做最後一步操作

25.4實驗步驟

25.5實驗總結

任務26AI智能對話機器人

26.1實驗任務

26.2實現思路

26.3知識點分析

26.3.1DeepSeek API

26.3.2JSON請求體格式

26.3.3溫度參數(Temperature)

26.3.4對話上下文管理

26.3.5HttpURLConnection

26.4實驗步驟

26.5實驗總結