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

📄 chatarea.java

📁 上传的聊天系统程序与QQ程序差不多,只是功能没有QQ那么强大
💻 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 + -