📄 chat.java
字号:
package Form;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Calendar;
import business.*;
import javax.swing.*;
public class Chat extends ChatBase implements ActionListener{
/**
* Launch the application
* @param args
*/
// 响应关闭按钮的内部类
private JMenuBar br = new JMenuBar();
private JMenu mu = new JMenu("传送文件(&F)");
private class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent we)
{
parent.closeChat(friendNum+"");
Chat.this.Save();
Chat.this.dispose();
}
}
private void registerMune()
{
mu.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
FileDialog fd = new FileDialog(Chat.this,"打开对话框",FileDialog.LOAD);
fd.setVisible(true);
String rightNow = Calendar.getInstance().getTime().toLocaleString();
if(fd.getFile()==null)
{
return;
}
File f = new File(fd.getDirectory()+"\\"+fd.getFile());
if(f.length()>102400)
{
input.append(rightNow+" 文件太大,不能传送!\n");
return;
}
char[] content = new char[102400];
String str =null;
try {
FileReader fr = new FileReader(f);
int len = fr.read(content);
str = new String(content,0,len);
} catch (FileNotFoundException e1) {
} catch (IOException e2) {
}
parent.sendMessage("F"+friendNum+" "+"N"+fd.getFile()+"!"+str);
input.append(" "+userName+" "+rightNow+"\n "+"向"+friendNum+"发送文件:"+fd.getFile()+"\n");
}
});
}
public Chat(int userNum,int friendNum,Client parent) {
super();
this.userNum = userNum;
this.friendNum = friendNum;
this.userName = User.getName(userNum);
this.parent = parent;
String friendName = User.getName(friendNum);
this.setTitle("你正在与"+friendName+"对话");
setBounds(100, 100, 600, 375);
setResizable(false);
addWindowListener(new WindowCloser());
setup();
br.add(mu);
mu.setMnemonic('F');
this.setJMenuBar(br);
registerMune();
}
public void setMessage(String string) {
// TODO 自动生成方法存根
input.append(string+"\n");
input.setCaretPosition(input.getText().length());//滾動到底端
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getActionCommand().equals("发送"))
{
parent.sendMessage("M"+friendNum+" "+output.getText());
String rightNow = Calendar.getInstance().getTime().toLocaleString();
input.append(" "+userName+" "+rightNow+"\n "+output.getText()+"\n");
output.setText("");
}
else if(e.getActionCommand().equals("取消"))
{
parent.closeChat(friendNum+"");
Chat.this.Save();
Chat.this.dispose();
}
else
{
setResizable(true);
java.awt.Rectangle rv = Chat.this.getBounds();
int width = rv.width;
if(openRecrod)
{
width += 200;
openRecrod=false;
panel.setVisible(true);
}
else
{
panel.setVisible(false);
width -=200;
openRecrod=true;
}
Chat.this.setBounds(rv.x, rv.y, width, rv.height);
setResizable(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -