mirror of
https://github.com/FatttSnake/ClassroomInteraction.git
synced 2026-04-05 21:51:25 +08:00
61 lines
2.5 KiB
Java
61 lines
2.5 KiB
Java
package com.cfive.classroom.student;
|
|
|
|
import com.cfive.classroom.library.net.StudentNet;
|
|
import com.cfive.classroom.library.net.util.MessageObject;
|
|
import com.cfive.classroom.library.net.util.MessageType;
|
|
import com.cfive.classroom.library.net.util.ReceiveListener;
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.Properties;
|
|
|
|
public class Chat {
|
|
private JPanel panel1;
|
|
private JButton sendButton;
|
|
private JTextArea receiveText;
|
|
private JTextArea sendText;
|
|
private static JFrame frame = new JFrame("留言");
|
|
private static final Logger LOGGER = LogManager.getLogger();
|
|
|
|
public Chat(StudentNet studentNet,String stuNo,String stuName,ChatReceiveListener chatReceiveListener) {
|
|
//发送消息
|
|
sendButton.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
String sendMessage = sendText.getText();
|
|
if(sendMessage.length()!=0) {
|
|
LOGGER.info(stuNo+stuName);
|
|
receiveText.append("我:"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒"))+"\n"+sendMessage+"\n");
|
|
studentNet.sendMessage(new MessageObject(stuNo, stuName, null,sendText.getText() ,null,null,LocalDateTime.now(),MessageType.Chat));
|
|
sendText.setText("");
|
|
}
|
|
else{
|
|
JOptionPane.showMessageDialog(null,"无发送内容","错误!",JOptionPane.ERROR_MESSAGE);
|
|
}
|
|
}
|
|
});
|
|
//接收消息
|
|
studentNet.setOnReceiveListener(new ReceiveListener() {
|
|
@Override
|
|
public void onReceive(MessageObject messageObject) {
|
|
if(messageObject.getMessageType()==MessageType.ChatToAll){
|
|
receiveText.append("教师:"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒"))+'\n'+messageObject.getMessage()+"\n");
|
|
}
|
|
chatReceiveListener.onReceive(messageObject);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void start() {
|
|
frame.setContentPane(this.panel1);
|
|
frame.setSize(600, 400);
|
|
frame.setLocationRelativeTo(null);
|
|
frame.setVisible(true);
|
|
}
|
|
}
|