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

📄 mainframe.java

📁 这是一个能够实现文件传输的用java开发的源程序
💻 JAVA
字号:
package daen.graduate.trans;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.*;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.InetAddress;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.io.*;


public class MainFrame extends JFrame {
    JPanel contentPane;
    JButton jbtnSend = new JButton();
    JLabel jlblIP = new JLabel();
    JButton jbtnSetting = new JButton();
    JTabbedPane jtpTransFile = new JTabbedPane();
    TransFileManager tfm=new TransFileManager(jtpTransFile);
    public MainFrame() {
        try {
            //setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }


    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        this.getContentPane().setBackground(new Color(206, 227, 249));
        setSize(new Dimension(400, 300));
        setTitle("传输文件");
        this.addWindowListener(new MainFrame_this_windowAdapter(this));
        jbtnSend.setBackground(new Color(236, 247, 255));
        jbtnSend.setBounds(new Rectangle(14, 14, 85, 25));
        jbtnSend.setFont(new java.awt.Font("宋体", Font.PLAIN, 13));
        jbtnSend.setBorder(BorderFactory.createRaisedBevelBorder());
        jbtnSend.setText("发送文件");
        jbtnSend.addActionListener(new MainFrame_jbtnSend_actionAdapter(this));
        jlblIP.setText("本机IP:");
        jbtnSetting.setBackground(new Color(236, 247, 255));
        jbtnSetting.setBounds(new Rectangle(106, 14, 73, 25));
        jbtnSetting.setFont(new java.awt.Font("宋体", Font.PLAIN, 13));
        jbtnSetting.setBorder(BorderFactory.createRaisedBevelBorder());
        jbtnSetting.setText("设置");
        jbtnSetting.addActionListener(new MainFrame_jbtnSetting_actionAdapter(this));
        jtpTransFile.setBackground(new Color(206, 227, 249));
        jtpTransFile.setBounds(new Rectangle( 0, 54, 402, 246));
        jlblIP.setFont(new java.awt.Font("宋体", Font.PLAIN, 13));
        jlblIP.setBounds(new Rectangle(197, 18, 180, 16));
        contentPane.setBackground(new Color(206, 227, 249));
        contentPane.setToolTipText("");
        contentPane.add(jtpTransFile);
        contentPane.add(jbtnSend);
        contentPane.add(jbtnSetting);
        contentPane.add(jlblIP);
        tfm.start();
        byte [] ip=InetAddress.getLocalHost().getAddress();
        jlblIP.setText("本机IP:"+(ip[0]&0xff)+"."+(ip[1]&0xff)+"."+(ip[2]&0xff)+"."+(ip[3]&0xff));
    }




    public void jbtnSetting_actionPerformed(ActionEvent e) {
        SettingDialog sd=new SettingDialog(this);
        sd.jtfPort.setText(String.valueOf(tfm.port));
        sd.jspnThreadNum.setValue(new Integer(tfm.maxThreadNum));
        sd.show();
        if(sd.flag){
            if(tfm.port!=sd.port){
                tfm.setPort(sd.port);
            }
            tfm.setMaxThreadNum(sd.threadNum);
        }
    }

    public void jbtnSend_actionPerformed(ActionEvent e) {
        TransFileDialog tfd=new TransFileDialog(this);
        tfd.show();
        if(tfd.flag){
            for(int i=0;i<tfd.files.length;i++){
                tfm.sendFile(tfd.serverName,tfd.port,tfd.files[i].getAbsolutePath(),tfd.message);
            }
        }
    }

    public void this_windowClosed(WindowEvent e) {
        tfm.close();
    }
}

class MainFrame_this_windowAdapter extends WindowAdapter {
    private MainFrame adaptee;
    MainFrame_this_windowAdapter(MainFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void windowClosed(WindowEvent e) {
        adaptee.this_windowClosed(e);
    }
}


class MainFrame_jbtnSend_actionAdapter implements ActionListener {
    private MainFrame adaptee;
    MainFrame_jbtnSend_actionAdapter(MainFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jbtnSend_actionPerformed(e);
    }
}


class MainFrame_jbtnSetting_actionAdapter implements ActionListener {
    private MainFrame adaptee;
    MainFrame_jbtnSetting_actionAdapter(MainFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jbtnSetting_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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