⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatface.java

📁 JAVA的聊天源代码
💻 JAVA
字号:
package qq;

import javax.swing.JFrame;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JScrollPane;
import javax.swing.JButton;
import javax.swing.*;
import java.awt.Font;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.util.Hashtable;
import java.util.Date;
import java.text.SimpleDateFormat;

public class ChatFace extends JFrame {
    XYLayout xYLayout1 = new XYLayout();
    JScrollPane jScrollPane1 = new JScrollPane();
    JScrollPane jScrollPane2 = new JScrollPane();
    JButton send = new JButton();
    JTextArea receive = new JTextArea();
    JTextArea message = new JTextArea();

    private UserInfo userSelf, withUser; //用户自己以及聊天对象
    public ChatFace(UserInfo userSelf, UserInfo withUser) {
        super();
        this.userSelf = userSelf;
        this.withUser = withUser;
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout(xYLayout1);
        send.setFont(new java.awt.Font("宋体", Font.BOLD, 16));
        send.setAction(null);
        send.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                send_actionPerformed(e);
            }
        });
        receive.setEnabled(false);
        receive.setDisabledTextColor(Color.black);
        receive.setText("安全提醒: 交谈中请勿轻信汇款、中奖消息,勿轻易拨打陌生电话!\n");
        this.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                this_windowClosing(e);
            }
        });
        message.setDisabledTextColor(Color.black);
        xYLayout1.setWidth(417);
        xYLayout1.setHeight(468);
        this.getContentPane().add(jScrollPane1,
                                  new XYConstraints(5, 8, 405, 333));
        jScrollPane1.getViewport().add(receive);
        send.setText("发送");
        this.getContentPane().add(jScrollPane2,
                                  new XYConstraints(5, 355, 328, 100));
        this.getContentPane().add(send, new XYConstraints(343, 365, -1, 80));

        jScrollPane2.getViewport().add(message);

        this.setSize(425, 505);
        this.setLocation(400, 150);
        this.setVisible(true);
    }

    //关闭窗口事件
    public void this_windowClosing(WindowEvent e) {
        ((Hashtable) MainFace.localUserchatWindows.get(userSelf.getUserId())).
                remove(withUser.getUserId()); //从本地用户聊天窗口中移除对应好友的聊天窗口
        this.dispose(); //释放窗体资源
    }

    //获得当前时间
    private String getTime() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd  HH:mm:ss");
        Date time = new Date();
        return dateFormat.format(time);
    }

    //点击发送按钮发送信息
    public void send_actionPerformed(ActionEvent e) {
        if (!message.getText().equals("")) {
            Message msg = new Message(userSelf.getUserId(),
                                      userSelf.getUserName(),
                                      withUser.getUserId(), this.getTime(),
                                      message.getText());
            Client client = new Client();
            client.send(msg);
            receive.append("\n" + this.getTime() + "\n" + message.getText());
            message.setText("");
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -