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

📄 frame1.java~58~

📁 Jbuilder100个例子 都是经典例子 对大家学习Jbuilder非常有帮助
💻 JAVA~58~
字号:
package chatserver;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.net.*;import java.io.*;public class Frame1 extends JFrame implements Runnable {  JPanel contentPane;  BorderLayout borderLayout1 = new BorderLayout();  TextArea textArea1 = new TextArea();  Panel panel1 = new Panel();  TextField textField1 = new TextField();  Button send = new Button();  Button quit = new Button();  ServerSocket serverSocket = null;  Socket socket = null;  BufferedReader cin = null;  PrintWriter cout = null;  /**Construct the frame*/  public Frame1() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  /**Component initialization*/  private void jbInit() throws Exception  {    //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));    contentPane = (JPanel) this.getContentPane();    contentPane.setLayout(borderLayout1);    this.setResizable(false);    this.setSize(new Dimension(372, 284));    this.setTitle("聊天程序--服务器端");    textField1.setColumns(15);    send.setEnabled(false);    send.setLabel("发送");    send.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        send_actionPerformed(e);      }    });    quit.setLabel("退出");    quit.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        quit_actionPerformed(e);      }    });    textArea1.setEditable(false);    contentPane.add(textArea1,  BorderLayout.CENTER);    contentPane.add(panel1, BorderLayout.SOUTH);    panel1.add(textField1, null);    panel1.add(send, null);    panel1.add(quit, null);    Thread thread = new Thread(this);    thread.start();  }  /**Overridden so we can exit when window is closed*/  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      quit();//      System.exit(0);    }  }  public void run() {    try{      serverSocket = new ServerSocket(1124);      socket = serverSocket.accept();      cin = new BufferedReader (new InputStreamReader(socket.getInputStream()));      cout = new PrintWriter(socket.getOutputStream());      if (socket!= null){        textArea1.append("系统消息:客户端成功接入!\n");        send.setEnabled(true);      }      Receiver r = new Receiver();      Thread t = new Thread(r);      t.start();    }catch(Exception e){      textArea1.append(e.toString()+"\n");    }  }  void quit_actionPerformed(ActionEvent e) {      quit();//      System.exit(0);  }  void send_actionPerformed(ActionEvent e) {    cout.println(textField1.getText());    cout.flush();    textArea1.append("Sever:"+textField1.getText()+"\n");    textField1.setText("");  }  void quit(){    try{    cout.println("ServerExits!");    cout.flush();    }catch(Exception e){//    textArea1.append(e.toString());    }    finally{      System.exit(0);    }  }  private class Receiver implements Runnable{    public void run(){      String msg = null;      try{        msg = cin.readLine();        while(msg!= "ClientExits!"){          textArea1.append("Client:"+msg+"\n");          msg = cin.readLine();        }        cin.close();        cout.close();        socket.close();        serverSocket.close();        send.setEnabled(false);    //客户端已退出,禁止发送消息      }catch(Exception e){         textArea1.append(e.toString()+"\n");       }    }  }}

⌨️ 快捷键说明

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