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

📄 frame1.java~66~

📁 这是本人刚刚得到的JBuilder9软件开发项目实践的源码
💻 JAVA~66~
📖 第 1 页 / 共 2 页
字号:
package sharep2p;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
import java.io.*;
import java.net.*;
import java.util.StringTokenizer;


/**
 * <p>Title: shareP2p</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: 华中科技大学</p>
 * @author not attributable
 * @version 1.0
 */

public class Frame1 extends JFrame {
  JPanel contentPane;
  JLabel statusBar = new JLabel();
  BorderLayout borderLayout1 = new BorderLayout();
  Panel panel1 = new Panel();
  JButton jButton1 = new JButton();
  TitledBorder titledBorder1;
  Border border1;
  Border border2;
  TitledBorder titledBorder2;
  Border border3;
  XYLayout xYLayout1 = new XYLayout();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  ScrollPane scrollPane1 = new ScrollPane();
  List list1 = new List();
  JButton jButton4 = new JButton();
  Label label1 = new Label();
  ScrollPane scrollPane2 = new ScrollPane();
  List list2 = new List();
  Label label3 = new Label();
  TextField textField1 = new TextField();
  JButton jButton5 = new JButton();
  JButton jButton6 = new JButton();
  JTextField jTextField1 = new JTextField();
  Label label2 = new Label();
  JButton jButton7 = new JButton();

  //Construct the frame
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    titledBorder1 = new TitledBorder("");
    border1 = BorderFactory.createCompoundBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.blue,Color.blue,Color.blue),border1);
    border2 = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.blue,Color.blue,Color.blue);
    titledBorder2 = new TitledBorder(border2,"晚上反对 ");
    border3 = BorderFactory.createCompoundBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.blue,Color.blue,Color.blue),titledBorder1);
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(596, 525));
    this.setTitle("文件共享");
    statusBar.setBackground(Color.red);
    statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
    statusBar.setText(" ");
    panel1.setLayout(xYLayout1);
    jButton1.setBackground(SystemColor.desktop);
    jButton1.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton1.setForeground(Color.red);
    jButton1.setBorder(border3);
    jButton1.setBorderPainted(true);
    jButton1.setText("开始监听");
    jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
    panel1.setBackground(Color.pink);
    panel1.setForeground(Color.black);
    jButton2.setText("网络共享");
    jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));
    jButton2.setBorderPainted(true);
    jButton2.setBorder(border3);
    jButton2.setForeground(Color.red);
    jButton2.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton2.setBackground(SystemColor.desktop);
    jButton3.setText("sharefiles");
    jButton3.addActionListener(new Frame1_jButton3_actionAdapter(this));
    jButton3.setBorderPainted(true);
    jButton3.setBorder(border3);
    jButton3.setForeground(Color.red);
    jButton3.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton3.setBackground(SystemColor.desktop);
    scrollPane1.setBackground(Color.orange);
    list1.setBackground(Color.orange);
    jButton4.setBackground(SystemColor.desktop);
    jButton4.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton4.setForeground(Color.red);
    jButton4.setBorder(border3);
    jButton4.setBorderPainted(true);
    jButton4.setText("保存目录");
    jButton4.addActionListener(new Frame1_jButton4_actionAdapter(this));
    label1.setText("label1");
    list2.setBackground(Color.orange);
    scrollPane2.setBackground(Color.orange);
    label3.setText("目标计算机地址");
    label3.setFont(new java.awt.Font("Dialog", 1, 20));
    label3.setBackground(Color.pink);
    textField1.setText("textField1");
    jButton5.setBackground(SystemColor.desktop);
    jButton5.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton5.setForeground(Color.red);
    jButton5.setBorder(border3);
    jButton5.setBorderPainted(true);
    jButton5.setText("connection");
    jButton5.addActionListener(new Frame1_jButton5_actionAdapter(this));
    jButton6.setBackground(SystemColor.desktop);
    jButton6.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton6.setForeground(Color.red);
    jButton6.setBorder(border3);
    jButton6.setBorderPainted(true);
    jButton6.addActionListener(new Frame1_jButton6_actionAdapter(this));
    jButton6.setText("deletefiles");
    jButton6.addActionListener(new Frame1_jButton6_actionAdapter(this));
    jTextField1.setText("jTextField1");
    label2.setBackground(Color.pink);
    label2.setFont(new java.awt.Font("Dialog", 1, 20));
    label2.setText("网络资源");
    jButton7.addActionListener(new Frame1_jButton7_actionAdapter(this));
    jButton7.setText("下载文件");
    jButton7.addActionListener(new Frame1_jButton7_actionAdapter(this));
    jButton7.setBorderPainted(true);
    jButton7.setBorder(border3);
    jButton7.setForeground(Color.red);
    jButton7.setFont(new java.awt.Font("Dialog", 1, 15));
    jButton7.setBackground(SystemColor.desktop);
    contentPane.add(statusBar, BorderLayout.SOUTH);
    contentPane.add(panel1, BorderLayout.CENTER);
    panel1.add(scrollPane1, new XYConstraints(18, 83, 349, 117));
    panel1.add(jButton3, new XYConstraints(386, 83, 129, 49));
    panel1.add(jButton6, new XYConstraints(388, 145, 129, 49));
    panel1.add(jButton4, new XYConstraints(15, 228, 129, 49));
    panel1.add(jTextField1, new XYConstraints(161, 230, 215, 45));
    panel1.add(label1, new XYConstraints(390, 233, 168, 41));
    panel1.add(label2, new XYConstraints(14, 286, 140, -1));
    panel1.add(scrollPane2,   new XYConstraints(14, 318, 353, 98));
    panel1.add(label3, new XYConstraints(415, 281, 156, 47));
    panel1.add(textField1, new XYConstraints(419, 329, 142, 36));
    panel1.add(jButton1, new XYConstraints(72, 24, 129, 49));
    panel1.add(jButton2, new XYConstraints(256, 24, 129, 49));
    panel1.add(jButton5, new XYConstraints(420, 376, 129, 49));
    panel1.add(jButton7,  new XYConstraints(29, 424, 129, 49));
    scrollPane2.add(list2, null);
    scrollPane1.add(list1, null);
  }
  //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);
    }
  }

  public class Server
     extends Thread {
   public final int Default_Port = 6544;
   protected int port;
   protected ServerSocket listen_socket;
   protected Socket client;
   protected DataInputStream in;
   protected DataOutputStream out;

   // 定义出错例程:如果出现异常错误,退出程序。
   public void fail(Exception e, String msg) {
     System.err.println(msg + ": " + e);
     System.exit(1);
   }

   // 定义并启动服务器的Socket 例程,监听客户机的连接请求。
   public Server(int port) {
     if (port == 0) {
       port = Default_Port;
     }
     this.port = port;
    try {
       listen_socket = new ServerSocket(port);
     }
     catch (IOException e) {
       fail(e, "Exception creating server socket");
     }
     System.out.println("Server: listening on port" + port);
     //this.start();
   }

   /* 下面为服务器监听线程的主程序。该线程一直循环执行,监听并接受客户机发出的连接
              请求。对每一个连接,均产生一个连接对象与之对应,通过Socket 通道进行通信。*/

   public void run() {
     try {

       while (true) {
         Socket client_socket = listen_socket.accept();
         client = client_socket;
         in = new DataInputStream(client.getInputStream());
         out = new DataOutputStream(client.getOutputStream());
         String Message = null;
         client.setSoTimeout(1000);
         Message = in.readUTF();
         //System.out.print(Message);
         //jTextArea2.setText(Message);
         StringTokenizer st = new StringTokenizer(Message,"*");
         label1.setText(st.nextToken());
         while (st.hasMoreTokens()) {
           list2.add(st.nextToken());
          }
          String ShareFiles ="";
          for(int i=0;i<list1.getItemCount();i++)
          {
            ShareFiles = ShareFiles+list1.getItem(i)+"*";
          }
          System.out.print(ShareFiles);
          //out.writeUTF(ShareFiles);

         out.close();
         in.close();
         client.close();
       }
     }
     catch (IOException e) {
       fail(e, "Exception while listening for connections");
     }
   }
// 启动服务器主程序
 }

// End of Server class



 public class DownloadFile
      extends Thread {
    public final int Default_Port = 9999;
    protected int port;
    protected ServerSocket listen_socket;
    protected Socket client;
    protected DataInputStream in;
    protected DataOutputStream out;

    // 定义出错例程:如果出现异常错误,退出程序。
    public void fail(Exception e, String msg) {
      System.err.println(msg + ": " + e);
      System.exit(1);
    }

    // 定义并启动服务器的Socket 例程,监听客户机的连接请求。
    public DownloadFile(int port) {
      if (port == 0) {
        port = Default_Port;
      }
      this.port = port;
     try {
        listen_socket = new ServerSocket(port);
      }
      catch (IOException e) {
        fail(e, "Exception creating server socket");
      }
      System.out.println("Server: listening on port" + port);
      //this.start();
    }

    /* 下面为服务器监听线程的主程序。该线程一直循环执行,监听并接受客户机发出的连接
               请求。对每一个连接,均产生一个连接对象与之对应,通过Socket 通道进行通信。*/

    public void run() {
      try {

        while (true) {
          Socket client_socket = listen_socket.accept();
          client = client_socket;
          in = new DataInputStream(client.getInputStream());
          out = new DataOutputStream(client.getOutputStream());
          String Message = null;
          client.setSoTimeout(1000);
          Message = in.readUTF();
          //System.out.print(Message);
          //jTextArea2.setText(Message);
          StringTokenizer st = new StringTokenizer(Message,"  ");
          Message = st.nextToken();
          String fileName = Message;
          File pictureFile = new File(fileName);
          FileInputStream pictureInStream = new FileInputStream(pictureFile);
          byte[] pictureData = new byte[4096];
          int byteNumber;
          while((byteNumber = pictureInStream.read(pictureData)) != -1)
               out.write(pictureData,0,byteNumber);

               //transmit file finished
          pictureInStream.close();

⌨️ 快捷键说明

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