myqq.java

来自「java编写的聊天室程序」· Java 代码 · 共 143 行

JAVA
143
字号
import javax.swing.*;
import javax.swing.event.*;
//import java.awt.Color;
import java.awt.event.*;
import java.awt.Event;


public class MyQQ extends JFrame implements ActionListener,ListSelectionListener,KeyListener
{JPanel panel;
 static JTextArea textArea1;
 static JList list1;
 JButton button1;
 JTextField edit1;
 JLabel label1;
 String user,address;
 static String[]text=new String[12];
 
     MyQQ(String user,String address)
     {super("小春局域网聊天室"+"--"+user+"--"+address);
      this.user=user;
      this.address=address;
            
      panel=(JPanel)this.getContentPane();
      panel.setLayout(null);
      
      list1=new JList();
      panel.add(list1);
      list1.reshape(10,10,80,235);
      
      textArea1=new JTextArea();
      panel.add(textArea1);
      textArea1.reshape(100,10,400,235);
      
                  
      label1=new JLabel("");
      panel.add(label1);
      label1.reshape(10,255,80,25);
      
      edit1=new JTextField();
      panel.add(edit1);
      edit1.reshape(100,255,330,25);
      
      button1=new JButton("发送");
      panel.add(button1);
      button1.reshape(440,255,60,25);
      
      
      button1.addActionListener(this); 
      list1.addListSelectionListener(this);
      edit1.addKeyListener(this);
      list1.setSelectedIndex(0);
      
      this.setArray();
      
      this.setResizable(false);
      this.setSize(520,320);
      this.setVisible(true);
      
     }
     
     
     
     
     public void actionPerformed(ActionEvent event)
     {
      if(event.getSource()==button1)
        {String message=edit1.getText();
        
         if(message.length()==0)
            return;
            
         String str1=user+"对"+label1.getText()+"说: "+message;
         Client.sendMessage(str1);                           //发送给服务器
         
         edit1.setText(null);       
        }
       
     }
      
     
     public void valueChanged(ListSelectionEvent e)
     {label1.setText((String)list1.getSelectedValue());
     }
      
   
     public static void setList(String[]listDate)                //显示再线用户
     {
     	int i=list1.getSelectedIndex();
        list1.setListData(listDate);
        int n=listDate.length-1;
                
        if(i>=n)
          list1.setSelectedIndex(n);
        else
          list1.setSelectedIndex(i);
     }
 
          
     public static void appendText(String message)
     {
        for(int i=text.length-1;i>0;i--)
           {text[i]=text[i-1];
           }
        text[0]=message;
        
        textArea1.setText(null);
        
        for(int i=0;i<text.length;i++)
           {textArea1.insert(text[i]+'\n',0);
           }
     }
     
     
     private void setArray()
     {
     	for(int i=0;i<text.length;i++)
     	{text[i]=" ";
     	}
   
     }
 
     
     
     public void keyPressed(KeyEvent event)
     {if(event.getKeyCode()==Event.ENTER)
        {String message=edit1.getText();
         if(message.length()==0)
           return;    
         String str1=user+"对"+label1.getText()+"说:   "+message;
         Client.sendMessage(str1);                           //发送给服务器
         edit1.setText(null);       
        }
     }
     
     public void keyTyped(KeyEvent event)
     {
     }
     
     public void keyReleased(KeyEvent event)
     {
     }
        
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?