基於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
- 討論一下基於網頁聊天的實現(類似gmail中的聊天)網頁AI
- iOS微信QQ聊天介面的UI框架以及Socket簡單實現群聊功能iOSUI框架
- 基於Socket.IO實現Android聊天功能Android
- 小程式實現實時聊天IM功能
- java多執行緒實現TCP網路Socket程式設計(C/S通訊)Java執行緒TCP程式設計
- 基於TCP協議的Socket網路程式設計( )TCP協議程式設計
- socket實現聊天功能(二)
- Python基於Socket實現簡易多人聊天室Python
- 微信小程式-實現實時聊天功能 前端部分微信小程式前端
- 通過 Socket 實現 TCP 程式設計入門TCP程式設計
- Python Socket 程式設計:聊天室示例程式Python程式設計
- 使用Android網路程式設計實現簡易聊天室Android程式設計
- node.js 用socket實現聊天Node.js
- UNIX Domain Socket實現簡易聊天AI
- Java 基於UDP 實現單播、組播、廣播 Socket 程式設計JavaUDP程式設計
- Java實驗——基於GUI的網路通訊程式設計JavaGUI程式設計
- 用UDP實現區域網內聊天程式UDP
- socket.io+express實現聊天室的思考(一)Express
- Java網路程式設計----透過實現簡易聊天工具來聊聊BIOJava程式設計
- node+socket.io 實現一個聊天室
- Netty網路聊天(一) 聊天室的實戰(最易懂)Netty
- 非同步Socket寫聊天程式非同步
- python網路-Socket之TCP程式設計(26)PythonTCP程式設計
- 強制qq聊天程式碼
- 基於環信實現線上聊天功能
- socket程式設計實現tcp伺服器_C/C++程式設計TCP伺服器C++
- java Socket Udp聊天JavaUDP
- 聊天介面的製作(一)——基本佈局的實現
- QQ聊天記錄儲存如何實現?
- 用Java程式碼實現一個簡單的聊天室功能Java
- UDP協議網路Socket程式設計(java實現C/S通訊案例)UDP協議程式設計Java
- 聊天室應用開發實踐(二):實現基於 Web 的聊天室Web
- JAVA Socket 底層是怎樣基於TCP/IP實現的???JavaTCP