📄 chatarea.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;
public class chatarea extends JFrame implements ActionListener
{
JFrame frame = new JFrame();
JPanel contentPane;
TextArea chatarea;
TextArea msg_txt;
DataInputStream dis=null; //定义用来实现客户端接受服务器数据的输入流
DataOutputStream dos=null; //定义用来实现从客户端发送数据到服务器的输出流
JButton send,close;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); //获得屏幕尺寸
int visible;
String clientname,reciver,petname;
public chatarea(String s,String t,String n,String m,DataInputStream i ,DataOutputStream o)
{
dis=i;
dos=o;
contentPane=(JPanel)frame.getContentPane();
contentPane.setLayout(null);
contentPane.setBounds(0,0,350,400);
contentPane.setBackground(new Color(109,190,255));
chatarea=new TextArea("",0,0,chatarea.SCROLLBARS_VERTICAL_ONLY);
chatarea.setBounds(2,40,346,200);
chatarea.setBackground(Color.white);
chatarea.setEditable(false);
contentPane.add(chatarea);
msg_txt=new TextArea("",0,0,msg_txt.SCROLLBARS_VERTICAL_ONLY);
msg_txt.setBounds(2,250,346,60);
msg_txt.setBackground(Color.white);
contentPane.add(msg_txt);
send=new JButton();
send.setText("发送");
send.setBounds(200,320,60,25);
send.setToolTipText("发送信息给对方");
send.setBackground(new Color(169,215,255));
send.setBorder(new BevelBorder(BevelBorder.RAISED));
send.addActionListener(this);
contentPane.add(send);
close=new JButton();
close.setText("取消");
close.setToolTipText("关闭聊天框");
close.setBounds(270,320,60,25);
close.setBackground(new Color(169,215,255));
close.setBorder(new BevelBorder(BevelBorder.RAISED));
close.addActionListener(this);
contentPane.add(close);
reciver=s;
clientname=t;
petname=m;
visible=1;
frame.setTitle("与 "+n+" 聊天中");
frame.setSize(350,400);
frame.setLocation(screenSize.width/2-175,screenSize.height/2-200); //使得窗口居中显示
frame.setVisible(true);
frame.setResizable(false);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==send)
{
if(msg_txt.getText().equals("")!=true)
{
chatarea.append(petname+":");
chatarea.append(msg_txt.getText());
chatarea.append("\n");
send();
}
else
{
JFrame ff=new JFrame();
JOptionPane.showMessageDialog(ff,"发送的内容不能为空!!!","警告!",JOptionPane.WARNING_MESSAGE,null);
}
}
else
{
frame.setVisible(false);
visible=0;
}
}
public void send()
{
String msgs=new String("MSG:"); //定义并实例化一个字符串存储发送的聊天信息,其中MSG为关键词
try
{
msgs=msgs+reciver+":"+petname+":";
dos.writeUTF(msgs+msg_txt.getText()); //用输出流发送聊天信息
msg_txt.setText("");
}
catch(IOException e)
{
System.out.println("Error:"+e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -