基於Java的Socket類Tcp網路程式設計實現實時聊天互動程式(一):QQ聊天介面的搭建
首先把服務端和客戶端的聊天介面視窗搭建完成
效果可以看下圖:
主要包括:窗體、滾動條、皮膚、按鈕、文字框和文字域
這部分比較簡單,直接上程式碼:
1.服務端程式碼
package Chat;
import javax.swing.*;
import java.awt.*;
//如果一個類需要有介面的顯示,該類需要繼承JFram
//1.定義JFram窗體中的元件
//2.在構造方法初始化窗體的元件
public class ServerChatMain extends JFrame {
public static void main(String[] args) {
//
new ServerChatMain();//呼叫構造方法
}
//屬性
//文字域
private JTextArea jta;
//滾動條
private JScrollPane jsp;
//皮膚
private JPanel jp;
//文字框
private JTextField jtf;
//按鈕
private JButton jb;
//行為
//構造方法
public ServerChatMain(){
//初始化元件
jta = new JTextArea();
//設定文字與不可編輯
jta.setEditable(false);
//注意:需要將文字框新增到滾動條中,實現滾動效果
jsp = new JScrollPane(jta);
//皮膚
jp = new JPanel();
//文字框
jtf = new JTextField(10);
//按鈕
jb = new JButton("傳送");
//注意:需要將文字框與按鈕新增到皮膚中
jp.add(jtf);
jp.add(jb);
//注意:需要將滾動條與皮膚全部新增到窗體中
this.add(jsp, BorderLayout.CENTER);//放在中間
this.add(jp,BorderLayout.SOUTH);//放在最下面,上北下南
//注意:需要設定標題,大小,位置,關閉,是否可見
this.setTitle("QQ聊天服務端");
this.setSize(300,300);
this.setLocation(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
由於客戶端和服務端效果是一樣的,只需要複製一下到客戶端即可,下圖為在mac電腦上的效果圖。
2.客戶端程式碼
由於客戶端和服務端的介面是一樣的,複製後修改一下即可。
package Chat;
import javax.swing.*;
import java.awt.*;
//如果一個類需要有介面的顯示,該類需要繼承JFram
//1.定義JFram窗體中的元件
//2.在構造方法初始化窗體的元件
public class ClientChatMain extends JFrame {
public static void main(String[] args) {
//
new ClientChatMain();//呼叫構造方法
}
//屬性
//文字域
private JTextArea jta;
//滾動條
private JScrollPane jsp;
//皮膚
private JPanel jp;
//文字框
private JTextField jtf;
//按鈕
private JButton jb;
//行為
//構造方法
public ClientChatMain(){
//初始化元件
jta = new JTextArea();
//設定文字與不可編輯
jta.setEditable(false);
//注意:需要將文字框新增到滾動條中,實現滾動效果
jsp = new JScrollPane(jta);
//皮膚
jp = new JPanel();
//文字框
jtf = new JTextField(10);
//按鈕
jb = new JButton("傳送");
//注意:需要將文字框與按鈕新增到皮膚中
jp.add(jtf);
jp.add(jb);
//注意:需要將滾動條與皮膚全部新增到窗體中
this.add(jsp, BorderLayout.CENTER);//放在中間
this.add(jp,BorderLayout.SOUTH);//放在最下面,上北下南
//注意:需要設定標題,大小,位置,關閉,是否可見
this.setTitle("QQ聊天客戶端");
this.setSize(300,300);
this.setLocation(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
到這一步,聊天的介面也就搭建完成了。
下一步進行:Tcp通訊的思路和程式碼實現(後續補上鍊接)
記錄時間:2020年11月22日
相關文章
- Java:基於TCP協議網路socket程式設計(實現C/S通訊)JavaTCP協議程式設計
- Java進階:基於TCP通訊的網路實時聊天室JavaTCP
- JAVASE網路程式設計之TCP實現聊天通訊Java程式設計TCP
- Python基於TCP實現聊天功能PythonTCP
- Socket程式設計入門(基於Java實現)程式設計Java
- 基於Socket.IO實現Android聊天功能Android
- C++ 實現基於TCP的聊天室C++TCP
- java多執行緒實現TCP網路Socket程式設計(C/S通訊)Java執行緒TCP程式設計
- 基於TCP協議的Socket網路程式設計( )TCP協議程式設計
- 小程式實現實時聊天IM功能
- Python基於Socket實現簡易多人聊天室Python
- socket實現聊天功能(二)
- 通過 Socket 實現 TCP 程式設計入門TCP程式設計
- python網路-Socket之TCP程式設計(26)PythonTCP程式設計
- Java 基於UDP 實現單播、組播、廣播 Socket 程式設計JavaUDP程式設計
- Java實驗——基於GUI的網路通訊程式設計JavaGUI程式設計
- 微信小程式-實現實時聊天功能 前端部分微信小程式前端
- node.js 用socket實現聊天Node.js
- UNIX Domain Socket實現簡易聊天AI
- Netty網路聊天(一) 聊天室的實戰(最易懂)Netty
- Java網路程式設計----透過實現簡易聊天工具來聊聊BIOJava程式設計
- socket程式設計實現tcp伺服器_C/C++程式設計TCP伺服器C++
- 基於TCP/UDP的Socket程式設計,HTTP/HTTPS協議TCPUDP程式設計HTTP協議
- socket.io+express實現聊天室的思考(一)Express
- UDP協議網路Socket程式設計(java實現C/S通訊案例)UDP協議程式設計Java
- node+socket.io 實現一個聊天室
- 用Java程式碼實現一個簡單的聊天室功能Java
- NIO實現聊天室之:一切都要從網路程式設計的基礎開始聊起!程式設計
- 聊天室應用開發實踐(二):實現基於 Web 的聊天室Web
- Socket網路程式設計基礎與實踐:建立高效的網路通訊程式設計
- HUST-計算機網路實驗-socket程式設計計算機網路程式設計
- (3)Tcp Socket程式設計的封裝類 TcpListener/TcpClientTCP程式設計封裝client
- Linux Socket C語言網路程式設計:TCP SocketLinuxC語言程式設計TCP
- 如何在零JS程式碼情況下實現一個實時聊天功能❓JS
- Python使用Socket寫一個簡單聊天程式Python
- js程式碼實現多人聊天室JS
- WinForm的Socket實現簡單的聊天室 IMORM
- 基於環信實現線上聊天功能