亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainframe.java

?? Swing+FtpClient實現 支持文件、文件夾上傳 支持文件、文件夾下載 支持文件重命名 支持文件刪除等功能
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*
 * NewJFrame.java
 *
 * Created on 2008年12月1日, 上午10:26
 */

package com.topking.ftp.ui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
import java.util.Vector;

import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JWindow;

import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;

import com.topking.ftp.bean.FileBean;
import com.topking.ftp.bean.UpLoadBean;
import com.topking.ftp.util.FileDownLoadUtil;
import com.topking.ftp.util.PathUtil;
import com.topking.swingui.MyJTable;
import com.topking.swingui.install.InstallData;
import com.topking.swingui.renderer.MyListCellRenderer;

/**
 *
 * @author  lzkj
 */
public class MainFrame extends javax.swing.JFrame implements ActionListener,Observer{

    /** Creates new form NewJFrame */

    // Variables declaration - do not modify
    private javax.swing.JTextField T_local;
    private javax.swing.JTextField T_remote;
    private javax.swing.JButton bt_browser;
    private javax.swing.JButton bt_localreturn;
    private javax.swing.JButton bt_remotereturn;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JList list_local;
    private javax.swing.JList list_remote;
    private MyJTable tb_progress;
    private String[] title;
    private Vector installs;
    private FtpClient ftp;
    private String currentDir;
    private String host;
    private String localPath;
    private String remotePath;    
    private DateFormat df;
    
    private JPopupMenu Lpop;
    private JMenuItem Lrename;
    private JMenuItem Ldelete;
    private JMenuItem Lproperty;
    private JMenuItem Lupload;
    
    private JPopupMenu Rpop;
    private JMenuItem Rrename;
    private JMenuItem Rdelete;
    private JMenuItem Rproperty;
    private JMenuItem Rdownload;
    private JMenuItem Rload;
    
    private int Rx = 0;
    private int Ry = 0;
    
    private int Lx = 0;
    private int Ly = 0;
    
    private int RowCount = 0;
    private String userName;
    private String passWord;
    
    private List<UpLoadBean> upList;
    
    public MainFrame(FtpClient ftp,String host,String userName,String passWord) {    
        this.ftp = ftp;
        this.host = host;
        this.userName = userName;
        this.passWord = passWord;
        this.setTitle("FTP工具(JAVA版) @Author: jacky   @HomePage: http://jacky68147527.javaeye.com");    	
    	this.setIconImage(this.getToolkit().createImage(this.getClass().getClassLoader().getResource("com/topking/ftp/ui/images/ftplogo.gif")));
//        this.setExtendedState(JFrame.MAXIMIZED_BOTH);
        currentDir = "";
        localPath = "C:/";
    	remotePath = "/";
    	df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	upList = new ArrayList<UpLoadBean>();
    	initComponents();    	
    	loadLocalFile();    	
    	loadRemoteFile();
    	refreshLocalPath();
    	refreshRemotePath();
    	new Thread(new removeTB()).start();
    	
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

    	title = new String []{"文件名", "大小", "進度", "速度", "狀態"};
    	installs = new Vector();  
		InstallData data_name = new InstallData("文件名",new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/ftp/ui/images/name.gif")));
        
        InstallData data_sex = new InstallData("大小",new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/ftp/ui/images/size.gif")));
       
        InstallData data_brith = new InstallData("進度",new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/ftp/ui/images/progress.gif")));
       
        InstallData data_phone = new InstallData("速度",new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/ftp/ui/images/speed.gif")));
       
        InstallData data_address = new InstallData("狀態",new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/ftp/ui/images/state.gif")));
        
        installs.add(data_name);
        installs.add(data_sex);
        installs.add(data_brith);
        installs.add(data_phone);
        installs.add(data_address);
        
        bt_browser = new javax.swing.JButton();
        T_local = new javax.swing.JTextField();
        bt_localreturn = new javax.swing.JButton();
        bt_remotereturn = new javax.swing.JButton();
        T_remote = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        list_local = new javax.swing.JList();
        jScrollPane2 = new javax.swing.JScrollPane();
        list_remote = new javax.swing.JList();
        jScrollPane3 = new javax.swing.JScrollPane();
        tb_progress = new MyJTable(title,installs);
        
        Lpop = new JPopupMenu();
        Lrename = new JMenuItem("重命名");
        Ldelete = new JMenuItem("刪除");
        Lproperty = new JMenuItem("屬性");
        Lupload = new JMenuItem("上傳");
        
        bt_browser.addActionListener(this);
        
        Lproperty.addActionListener(this);
        Lrename.addActionListener(this);
        Ldelete.addActionListener(this);
        Lupload.addActionListener(this);
        Lpop.add(Lproperty);
        Lpop.add(Lupload);
        Lpop.add(Lrename);
        Lpop.add(Ldelete);
        
        list_local.add(Lpop);
        
        Rpop = new JPopupMenu();
        Rrename = new JMenuItem("重命名");
        Rload = new JMenuItem("刷新");
        Rdelete = new JMenuItem("刪除");
        Rproperty = new JMenuItem("屬性");
        Rdownload = new JMenuItem("下載");
        
        Rproperty.addActionListener(this);
        Rdownload.addActionListener(this);
        Rrename.addActionListener(this);
        Rdelete.addActionListener(this);        
        Rpop.add(Rproperty);
        Rpop.add(Rload);
        Rpop.add(Rdownload);
        Rpop.add(Rrename);
        Rpop.add(Rdelete);
        
        list_remote.add(Rpop);
        
        list_local.addMouseListener(new MouseAdapter(){
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
				InstallData d = (InstallData)list_local.getSelectedValue();
				FileBean fb = (FileBean)d.getValue();
				//System.err.println(fb.getType()+";"+fb.getSize()+";"+fb.getTime());
				if(e.getClickCount()==2){
					InstallData data = (InstallData)list_local.getSelectedValue();
					//System.out.println(data.getText());
					if(!isFile(localPath+"/"+data.getText())){
						localPath = localPath+"/"+data.getText();
						refreshLocalPath();
						loadLocalFile();
						JWindow jw = new JWindow(MainFrame.this);
						jw.add(new JLabel("hello"));
						jw.setVisible(true);
					}else{						
						openFile(localPath+"/"+data.getText());
					}
				}//end if
				if(e.getButton()==3){
					Lpop.show(list_local, e.getX(), e.getY());
					Lx = 0;
					Ly = 0;
					Lx = e.getX()+10;
					Ly = e.getY()+10;
				}
			}        	
        });
        
        list_remote.addMouseListener(new MouseAdapter(){
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
				InstallData d = (InstallData)list_remote.getSelectedValue();
				FileBean fb = (FileBean)d.getValue();
				//System.err.println(fb.getType()+";"+fb.getSize()+";"+fb.getTime());
				if(e.getClickCount()==2){
					InstallData data = (InstallData)list_remote.getSelectedValue();
					//System.out.println(data.getText());
					if(!data.getText().contains(".")){//文件夾
						if(ftp.serverIsOpen()){
							try {
								ftp.cd(remotePath+data.getText()+"/");
								remotePath = remotePath+data.getText()+"/";
								refreshRemotePath();
								loadRemoteFile();
							} catch (IOException e1) {
								// TODO Auto-generated catch block
								e1.printStackTrace();
							}
						}else{
							JOptionPane.showMessageDialog(MainFrame.this, "服務器已經關閉,操作失敗","錯誤",JOptionPane.ERROR_MESSAGE);
						}
					}	//end if				
				}//end if
				if(e.getButton()==3){
					Rpop.show(list_remote, e.getX(), e.getY());
					Rx = 0;
					Ry = 0;
					Rx = e.getX()+400;
					Ry = e.getY()+10;
				}
			}        	
        });
        
        T_local.addActionListener(this);
        T_remote.addActionListener(this);
        bt_localreturn.addActionListener(this);
        bt_remotereturn.addActionListener(this);
        
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        bt_browser.setText("瀏覽");

        bt_localreturn.setText("返回");

        bt_remotereturn.setText("返回");

        /*list_local.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });*/
        jScrollPane1.setViewportView(list_local);

       /* list_remote.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });*/
        jScrollPane2.setViewportView(list_remote);

      /*  tb_progress.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null}
            },
            new String [] {
                "文件名", "大小", "進度", "速度", "狀態"
            }
        ));*/
        jScrollPane3.setViewportView(tb_progress);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(bt_browser)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费电影网站| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩免费高清一区色橹橹 | 国产不卡在线一区| 国产亚洲精品资源在线26u| 国产最新精品免费| 国产精品拍天天在线| 99re视频这里只有精品| 一区二区视频在线| 在线电影一区二区三区| 麻豆成人久久精品二区三区红 | 国产一区二区91| 亚洲国产精品精华液ab| 不卡一区二区三区四区| 夜色激情一区二区| 欧美一区二区精美| 东方aⅴ免费观看久久av| 一区二区三区在线视频免费| 3d成人动漫网站| 国产成人精品一区二区三区网站观看| 国产欧美日韩一区二区三区在线观看| 91浏览器打开| 日韩va亚洲va欧美va久久| 精品国产凹凸成av人导航| 成人a免费在线看| 性感美女久久精品| 久久影院电视剧免费观看| 97成人超碰视| 美女视频黄a大片欧美| 亚洲视频图片小说| 欧美www视频| 91久久香蕉国产日韩欧美9色| 麻豆视频一区二区| 夜色激情一区二区| 国产午夜精品福利| 欧美日韩免费观看一区三区| 成人免费毛片片v| 蜜桃精品在线观看| 尤物视频一区二区| 久久久.com| 91麻豆精品国产自产在线| 99久久综合狠狠综合久久| 精品在线播放午夜| 亚洲aaa精品| 亚洲免费成人av| 久久九九久久九九| 日韩无一区二区| 在线视频观看一区| 丁香激情综合五月| 精品一区二区日韩| 午夜精品久久久久久久久 | 中文字幕欧美一区| 337p粉嫩大胆噜噜噜噜噜91av| 色8久久人人97超碰香蕉987| 成人精品视频一区二区三区| 美女一区二区三区在线观看| 五月天激情小说综合| 亚洲免费在线视频| 中文字幕亚洲综合久久菠萝蜜| 日韩欧美国产综合一区| 欧美日韩亚洲丝袜制服| 91福利资源站| 91视频在线观看免费| 99精品黄色片免费大全| 国产成人av一区二区三区在线| 蜜桃视频第一区免费观看| 免费观看一级欧美片| 亚洲国产精品久久久男人的天堂| 中文字幕在线一区免费| 国产精品久久久久久久久免费樱桃| 精品久久人人做人人爰| 日韩欧美中文字幕一区| 欧美男人的天堂一二区| 欧美日韩一区小说| 欧美日韩一区二区电影| 欧美日韩在线电影| 欧美久久高跟鞋激| 欧美精品v国产精品v日韩精品 | 日韩欧美国产综合一区| 日韩欧美国产不卡| 日韩一区二区三区视频在线| 日韩一区二区三区在线| 精品欧美乱码久久久久久1区2区| 日韩视频免费直播| 精品国产3级a| 欧美激情资源网| 国产精品久久久久久亚洲毛片| 欧美国产成人在线| 国产精品福利影院| 亚洲欧美日韩久久精品| 亚洲综合精品自拍| 日韩av一级片| 国产伦精品一区二区三区视频青涩| 狠狠色狠狠色合久久伊人| 国产成a人亚洲| 欧洲精品一区二区| 7777精品伊人久久久大香线蕉 | 欧美精品一区二区不卡 | 日韩三级视频中文字幕| 精品剧情在线观看| 国产精品无人区| 亚洲三级在线看| 免费成人在线观看视频| 国产激情一区二区三区| 91网站最新网址| 欧美精品第1页| 国产日产欧美一区二区三区| 自拍偷拍欧美精品| 天涯成人国产亚洲精品一区av| 国产一区二区在线视频| 91论坛在线播放| 日韩欧美久久久| 中文字幕一区av| 免费一区二区视频| 成人免费av网站| 51久久夜色精品国产麻豆| 国产三级精品视频| 亚洲成av人影院在线观看网| 国产在线播放一区二区三区| 欧美性猛交xxxx黑人交| 精品对白一区国产伦| 亚洲三级在线免费| 精品一区二区三区在线播放视频 | 欧美视频一区二| 久久久噜噜噜久噜久久综合| 亚洲美女在线国产| 国产一区二区导航在线播放| 91国偷自产一区二区三区成为亚洲经典| 欧美一区二区网站| 亚洲欧洲中文日韩久久av乱码| 蜜臀久久久99精品久久久久久| av欧美精品.com| 精品国产一区二区精华| 亚洲一级二级三级在线免费观看| 国产乱妇无码大片在线观看| 欧美剧情片在线观看| 成人免费一区二区三区在线观看| 激情综合网最新| 欧美久久一区二区| 亚洲日本va午夜在线电影| 国产黄色精品网站| 精品奇米国产一区二区三区| 性做久久久久久| 色婷婷久久久久swag精品| 国产视频一区二区在线观看| 全国精品久久少妇| 欧美肥胖老妇做爰| 亚洲一级在线观看| 在线亚洲欧美专区二区| 国产精品久久久久久妇女6080| 精品亚洲国内自在自线福利| 制服丝袜亚洲色图| 亚洲成av人片观看| 在线一区二区视频| 亚洲欧美日韩国产手机在线 | 午夜精品福利一区二区三区av| 成人三级伦理片| 欧美国产欧美综合| 高清不卡在线观看av| 久久久久久免费毛片精品| 韩国三级在线一区| 日韩欧美的一区二区| 日本成人中文字幕在线视频| 欧美精品在欧美一区二区少妇| 一区二区免费看| 欧洲另类一二三四区| 亚洲宅男天堂在线观看无病毒| 色综合久久中文综合久久97| 亚洲美女免费在线| 91成人免费网站| 亚洲最大成人综合| 91.com在线观看| 日韩不卡一二三区| 久久夜色精品一区| 国产精品538一区二区在线| 国产欧美视频在线观看| 成人永久免费视频| 国产精品国产三级国产有无不卡| 成人小视频免费在线观看| 亚洲欧美日韩精品久久久久| 在线观看91视频| 视频一区视频二区中文字幕| 欧美mv日韩mv国产| 国产成人aaaa| 亚洲女同女同女同女同女同69| 欧美性感一区二区三区| 免费在线看一区| 国产日韩影视精品| 色噜噜狠狠一区二区三区果冻| 亚洲一级在线观看| 欧美大片一区二区三区| 国产大陆精品国产| 亚洲黄色录像片| 51久久夜色精品国产麻豆| 狠狠色狠狠色综合系列| 自拍偷拍亚洲综合| 宅男噜噜噜66一区二区66| 丰满少妇在线播放bd日韩电影| 亚洲免费观看高清完整版在线观看| 91精品欧美一区二区三区综合在|