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

📄 frameclient.java

📁 基本设计思路: 协同编辑开始
💻 JAVA
字号:
package clienttext;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
// UI classes
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import javax.swing.border.*;

import javax.swing.text.*;

import java.io.*;

import java.util.Vector;
import java.util.StringTokenizer;

// events
//import com.sun.star.lang.EventObject;
import java.awt.AWTEvent;
import java.awt.event.WindowEvent;

// base classes
import java.lang.*;
import com.borland.jbcl.layout.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class FrameClient
    extends JFrame {
  JPanel contentPane;
  XYLayout xYLayout1 = new XYLayout();
  JTextArea jTextArea1 = new JTextArea();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  Socket clientCom = null;
  Socket clientDat = null;
  JButton jButton3 = new JButton();
  JButton jButton4 = new JButton();
  Border border1;
  Border border2;
  Border border3;
  DataInputStream inCom;
  ObjectInputStream inDat;
  DataOutputStream outCom;
  ObjectOutputStream outDat;
  File totalDocument = new File("c:/coEdit/t.xml");
  File block1 = new File("c:/coEdit/1.xml");
  File block2 = new File("c:/coEdit/2.xml");
  File bbb = new File("c:/coEdit/bbb.xml");
  JTextField jTextField1 = new JTextField();

  //Construct the frame
  public FrameClient() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  //Component initialization
  private void jbInit() throws Exception {
    contentPane = (JPanel)this.getContentPane();
    border1 = new EtchedBorder(EtchedBorder.RAISED, Color.white,
                               new Color(148, 145, 140));
    border2 = BorderFactory.createEtchedBorder(Color.white,
                                               new Color(148, 145, 140));
    border3 = new EtchedBorder(EtchedBorder.RAISED, Color.white,
                               new Color(148, 145, 140));
    contentPane.setLayout(xYLayout1);
    this.setLocale(java.util.Locale.getDefault());
    this.setSize(new Dimension(434, 344));
    this.setTitle("Frame Title");
    jTextArea1.setText("");
    jButton1.setBorder(BorderFactory.createEtchedBorder());
    jButton1.setText("connect");
    jButton1.addMouseListener(new FrameClient_jButton1_mouseAdapter(this));
    jButton2.setBorder(BorderFactory.createEtchedBorder());
    jButton2.setText("GET");
    jButton2.addMouseListener(new FrameClient_jButton2_mouseAdapter(this));
    jButton3.setBorder(BorderFactory.createEtchedBorder());
    jButton3.setText("POST");
    jButton3.addMouseListener(new FrameClient_jButton3_mouseAdapter(this));
    jButton4.setEnabled(false);
    jButton4.setBorder(BorderFactory.createEtchedBorder());
    jButton4.setText("QUIT");
    jButton4.addMouseListener(new FrameClient_jButton4_mouseAdapter(this));
    jTextField1.setText("block1");
    contentPane.add(jTextArea1, new XYConstraints(4, 5, 246, 330));
    contentPane.add(jButton1, new XYConstraints(280, 17, 117, 38));
    contentPane.add(jButton2, new XYConstraints(282, 76, 117, 43));
    contentPane.add(jButton3, new XYConstraints(283, 142, 117, 42));
    contentPane.add(jButton4, new XYConstraints(285, 213, 115, 42));
    contentPane.add(jTextField1, new XYConstraints(287, 279, 114, 33));
  }

  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }

  void jButton1_mouseReleased(MouseEvent e) {
    try {
      clientCom = new Socket(InetAddress.getByName("210.29.175.49"), 2525);

      inCom = new DataInputStream(clientCom.getInputStream());
      outCom = new DataOutputStream(clientCom.getOutputStream());

      //outDat =new ObjectOutputStream(clientDat.getOutputStream());
      String ipStr = inCom.readLine();
      jTextArea1.append(ipStr + "\n");
      //inDat  =new ObjectInputStream(clientDat.getInputStream());
      outCom.writeBytes("jdsa:10059:coedit\n");
      String strsu = inCom.readLine();
      jTextArea1.append(strsu + "\n");
      jButton1.setEnabled(false);
      jButton4.setEnabled(true);

    }
    catch (IOException ee) {
      jTextArea1.append("Server can not find \n");
    }


  }

  void jButton2_mouseReleased(MouseEvent e) {
    String str = jTextField1.getText().trim();
    try {
      outCom.writeBytes("GET:" + str + ":jkjk\n");
    }
    catch (IOException ee) {}
    try {
        String strOK=inCom.readLine();//ok?
      clientDat = new Socket(InetAddress.getByName("210.29.175.49"), 2526);
      DataSocket ds = new DataSocket(clientDat);
      ds.receiveFileAndSaveTo(block1);
    }
    catch (IOException ee) {}
    jTextArea1.append(str + " get already!\n");

  }

  void jButton3_mouseReleased(MouseEvent e) {
    String str = jTextField1.getText().trim();
    try {
      outCom.writeBytes("POST:" + str + ":jkjk\n");
    }
    catch (IOException ee) {}
    try {
      String strOK=inCom.readLine();//ok?
      jTextArea1.append(strOK+"\n");
      clientDat = new Socket(InetAddress.getByName("210.29.175.49"), 2526);
      DataSocket ds = new DataSocket(clientDat);
      ds.sendFileTo(block1);
    }
    catch (IOException ee) {}
    jTextArea1.append(str + " post already!\n");
    try{
      String strOK=inCom.readLine();//  Post:block:edior
      outCom.writeBytes("begin receive\n");
      clientDat = new Socket(InetAddress.getByName("210.29.175.49"), 2526);
      DataSocket ds = new DataSocket(clientDat);
      ds.receiveFileAndSaveTo(bbb);

    }
    catch(Exception ee){jTextArea1.append(str + " post not to coEditor!\n");}

  }

  void jButton4_mouseReleased(MouseEvent e) {
    try {
      outCom.writeBytes("QUIT:jdsa:hdhsd\n");
      jTextArea1.append("Quit From Server\n");
      jButton1.setEnabled(true);
      jButton4.setEnabled(false);
    }
    catch (IOException ee) {}
  }
}

class FrameClient_jButton1_mouseAdapter
    extends java.awt.event.MouseAdapter {
  FrameClient adaptee;

  FrameClient_jButton1_mouseAdapter(FrameClient adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseReleased(MouseEvent e) {
    adaptee.jButton1_mouseReleased(e);
  }
}

class FrameClient_jButton2_mouseAdapter
    extends java.awt.event.MouseAdapter {
  FrameClient adaptee;

  FrameClient_jButton2_mouseAdapter(FrameClient adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseReleased(MouseEvent e) {
    adaptee.jButton2_mouseReleased(e);
  }
}

class FrameClient_jButton3_mouseAdapter
    extends java.awt.event.MouseAdapter {
  FrameClient adaptee;

  FrameClient_jButton3_mouseAdapter(FrameClient adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseReleased(MouseEvent e) {
    adaptee.jButton3_mouseReleased(e);
  }
}

class FrameClient_jButton4_mouseAdapter
    extends java.awt.event.MouseAdapter {
  FrameClient adaptee;

  FrameClient_jButton4_mouseAdapter(FrameClient adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseReleased(MouseEvent e) {
    adaptee.jButton4_mouseReleased(e);
  }
}

⌨️ 快捷键说明

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