📄 chatface.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 + -