appchatclient.java

来自「《Java编程基础、应用与实例》 源文件下载」· Java 代码 · 共 62 行

JAVA
62
字号
import java.awt.*;
import java.applet.*;
import java.net.*;
import java.io.*;
import java.awt.event.*;
public class AppChatClient extends Applet implements Runnable{
  private TextField nameBox=new TextField("<捞抚>");
  private TextArea msgView=new TextArea();
  private TextField sendBox=new TextField();
  private BufferedReader reader;
  private PrintWriter writer;
  private Socket socket;
  private Thread chatThread;
  private boolean loop=true;
  public void init(){
    msgView.setEditable(false);
    setLayout(new BorderLayout());
    add(nameBox,"North");
    add(msgView,"Center");
    add(sendBox,"South");
    sendBox.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent ae){
        try{
          writer.println(nameBox.getText()+" : "+ sendBox.getText());
          sendBox.setText("");
        }catch(Exception ie){}
      }
    });
  }
  public void run(){
    while(loop){
      try{
         msgView.append(reader.readLine()+"\n");
      }catch(IOException ie){}  
    } 
  }
  public void start(){
    try{
      msgView.append("辑滚家南苞狼 楷搬阑 矫档钦聪促.\n");
      socket=new Socket("127.0.0.1", 7777);
      msgView.append("盲泼 霖厚啊 肯丰登菌嚼聪促.\n");
      reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
      writer=new PrintWriter(socket.getOutputStream(), true); 
      chatThread=new Thread(this);
      chatThread.start();
    }catch(Exception e){
      msgView.append("楷搬 角菩.."); 
    }
  }
  private void stopThread(){
    loop=false; 
  }
  public void stop(){
   stopThread();
   try{
     if(reader!=null) reader.close();
     if(writer!=null) writer.close();
     if(socket!=null) socket.close();
     reader=null; writer=null; socket=null;
   }catch(IOException ie){}  
  }
}

⌨️ 快捷键说明

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