这个是因为帮朋友做作业记录一下,现场学习嗄,都忘了。好了不多说了。
1、首先得知道Swing,Swing是一个新型的java窗口工具(还是那么Love Orange W,哈哈哈)
2、聊天室怎么少得了Socket(套接字)
以上就是两个窗口聊天的主要用到底工具(功能)
1、聊天室多人聊天的,所以我们会以客户端和服务端两端就够了
2、我们开始写服务端代码,其实服务端和客户端代码都是一样的,会一个就会两个了,主要的就是在于区分Socket的端口与连接端口区别。不多bb了。上代码
2.1、服务端的代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.OutputStream;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* @Author: create_By:
* @Data:Created in 2019/12/24 23:26
* @Version:
* @Acton: QQ服务系统
*/
public class QQServerSystem {
private JFrame frame; // 窗口
private Container container; // 创中的容器对象
public JTextArea txtList; // 文本列表框
public JTextField txtMsg; // 文本发送框
public JButton btn; // 发送按钮
public String addMsg = "未连接";
public OutputStream os; //发送消息的
public QQServerSystem() {
frame = new JFrame("九哥的QQ服务端");
frame.setBounds(400, 300, 800, 600); //设置窗口大小位置
frame.setLayout(new BorderLayout()); //设置样式
container = frame.getContentPane(); //窗口生成容器
txtList = new JTextArea(5, 20); //生成文本域的大小
container.add(txtList, BorderLayout.CENTER); //把文本加入容器中,并设置布局
JPanel txtPanel = new JPanel();
txtPanel.setLayout(new FlowLayout(FlowLayout.LEADING));
txtMsg = new JTextField(60); //设置消息文本行高
btn = new JButton("发送");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//实现给客户端发送消息的功能
//1、点击发送获取消息框中的信息
String msgText = txtMsg.getText();
//2、处理文本
if (!"".e