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

📄 frame1.java~75~

📁 简单java实现的FTP客户端
💻 JAVA~75~
字号:
package emptyframe;import java.awt.*;import java.awt.event.*;import javax.swing.*;import sun.net.ftp.*;import sun.net.*;import java.io.*;import java.lang.Object;import java.beans.*;import sun.net.TelnetInputStream;import sun.net.TelnetOutputStream;import java.util.Properties;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeModel;import javax.swing.JTextField;import javax.swing.JCheckBox;import javax.swing.tree.TreePath;import com.borland.jbcl.layout.*;import javax.swing.border.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2009</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class Frame1 extends JFrame {  JPanel contentPane;  JMenuBar jMenuBar1 = new JMenuBar();  JMenu jMenuFile = new JMenu();  JMenuItem jMenuFileExit = new JMenuItem();  JMenu jMenuHelp = new JMenu();  JMenuItem jMenuHelpAbout = new JMenuItem();  ImageIcon image1;  ImageIcon image2;  ImageIcon image3;  BorderLayout borderLayout1 = new BorderLayout();  JTextField userEdit = new JTextField();  JButton jButton1 = new JButton();  JLabel jLabel1 = new JLabel();  JLabel jLabel2 = new JLabel();  JLabel jLabel3 = new JLabel();  java.awt.List list1 = new java.awt.List();  DefaultMutableTreeNode root1=new DefaultMutableTreeNode("目录中没有文件");  DefaultTreeModel model1=new DefaultTreeModel(root1);  JButton jButton4 = new JButton();  JTextField pathEdit = new JTextField();  JLabel jLabel4 = new JLabel();  JTextField filenameEdit = new JTextField();  JLabel jLabel5 = new JLabel();  JButton jButton2 = new JButton();  JPasswordField passwordEdit = new JPasswordField();  FtpClient ftp=null;  JTextField serverEdit = new JTextField();  JLabel statusBar = new JLabel();  TitledBorder titledBorder1;  TitledBorder titledBorder2;  JRadioButton jRadioButton1 = new JRadioButton();  JScrollPane jScrollPane1 = new JScrollPane();  JTextArea jTextArea1 = new JTextArea();  JMenuItem jMenuHelpHelp = new JMenuItem();  //Construct the frame  public Frame1() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  //Component initialization  private void jbInit() throws Exception  {    image1 = new ImageIcon(emptyframe.Frame1.class.getResource("openFile.png"));    image2 = new ImageIcon(emptyframe.Frame1.class.getResource("closeFile.png"));    image3 = new ImageIcon(emptyframe.Frame1.class.getResource("help.png"));    contentPane = (JPanel) this.getContentPane();    titledBorder1 = new TitledBorder("");    titledBorder2 = new TitledBorder("");    contentPane.setLayout(null);    this.setSize(new Dimension(405, 381));    this.setTitle("FTP精简客户端");    jMenuFile.setText("系统");    jMenuFileExit.setText("退出程序");    jMenuFileExit.addActionListener(new Frame1_jMenuFileExit_ActionAdapter(this));    jMenuHelp.setText("帮助");    jMenuHelpAbout.setText("关于");    jMenuHelpAbout.addActionListener(new Frame1_jMenuHelpAbout_ActionAdapter(this));    serverEdit.setText("");    serverEdit.setBounds(new Rectangle(56, 3, 228, 22));    statusBar.setText(" ");    statusBar.setForeground(Color.red);    statusBar.setBorder(BorderFactory.createLoweredBevelBorder());    statusBar.setDoubleBuffered(false);    statusBar.setText("没有连接!!!");    statusBar.setBounds(new Rectangle(0, 306, 399, 16));    contentPane.setBorder(null);    jRadioButton1.setText("匿名连接");    jRadioButton1.setBounds(new Rectangle(293, 1, 82, 27));    list1.addMouseListener(new Frame1_list1_mouseAdapter(this));    jScrollPane1.setBounds(new Rectangle(32, 243, 335, 35));    jMenuHelpHelp.setActionCommand("使用");    jMenuHelpHelp.setText("使用说明");    jMenuHelpHelp.addActionListener(new Frame1_jMenuHelpHelp_actionAdapter(this));    jMenuFile.add(jMenuFileExit);    jMenuHelp.add(jMenuHelpAbout);    jMenuHelp.add(jMenuHelpHelp);    jMenuBar1.add(jMenuFile);    jMenuBar1.add(jMenuHelp);    this.setJMenuBar(jMenuBar1);    userEdit.setText("");    userEdit.setBounds(new Rectangle(56, 28, 98, 24));    jButton1.setBounds(new Rectangle(289, 28, 77, 26));    jButton1.setText("连接");    jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));    jLabel1.setToolTipText("");    jLabel1.setText("地址");    jLabel1.setBounds(new Rectangle(22, 4, 29, 22));    jLabel2.setText("用户");    jLabel2.setBounds(new Rectangle(23, 28, 25, 22));    jLabel3.setText("密码");    jLabel3.setBounds(new Rectangle(156, 30, 27, 22));    list1.setBounds(new Rectangle(31, 96, 335, 145));    jButton4.setBounds(new Rectangle(56, 67, 99, 28));    jButton4.setText("下载文件");    jButton4.addActionListener(new Frame1_jButton4_actionAdapter(this));    pathEdit.setText("");    pathEdit.setBounds(new Rectangle(264, 280, 103, 20));    jLabel4.setText("FTP路径");    jLabel4.setBounds(new Rectangle(212, 281, 54, 20));    filenameEdit.setText("");    filenameEdit.setBounds(new Rectangle(70, 280, 137, 20));    jLabel5.setText("文件名");    jLabel5.setBounds(new Rectangle(31, 280, 41, 20));    jButton2.setBounds(new Rectangle(184, 67, 101, 28));    jButton2.setText("上载文件");    jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));    passwordEdit.setText("");    passwordEdit.setBounds(new Rectangle(184, 28, 100, 25));    contentPane.add(serverEdit, null);    contentPane.add(jLabel1, null);    contentPane.add(userEdit, null);    contentPane.add(list1, null);    contentPane.add(jLabel2, null);    contentPane.add(jScrollPane1, null);    jScrollPane1.getViewport().add(jTextArea1, null);    contentPane.add(statusBar, null);    contentPane.add(jLabel5, null);    contentPane.add(pathEdit, null);    contentPane.add(jLabel4, null);    contentPane.add(filenameEdit, null);    contentPane.add(jButton1, null);    contentPane.add(passwordEdit, null);    contentPane.add(jLabel3, null);    contentPane.add(jButton2, null);    contentPane.add(jButton4, null);    contentPane.add(jRadioButton1, null);  }  //File | Exit action performed  public void jMenuFileExit_actionPerformed(ActionEvent e) {    System.exit(0);  }  //Help | About action performed  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {    Frame1_AboutBox dlg = new Frame1_AboutBox(this);    Dimension dlgSize = dlg.getPreferredSize();    Dimension frmSize = getSize();    Point loc = getLocation();    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);    dlg.setModal(true);    dlg.pack();    dlg.show();  }  //Help|Help action performed  public void jMenuHelpHelp_actionPerformed(ActionEvent e){    try{      String cmd="notepad 使用说明.txt";      java.lang.Runtime.getRuntime().exec(cmd);    }    catch(Exception ec){      JOptionPane.showMessageDialog(null, "文件不存在!!","Error",JOptionPane.ERROR_MESSAGE);    }    }  //Overridden so we can exit when window is closed  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      jMenuFileExit_actionPerformed(null);    }  }  private void ReloadList(){    StringBuffer buf=new StringBuffer();    int ch;   list1.removeAll();    try{      TelnetInputStream t=ftp.list();      t.setStickyCRLF(true);      while((ch=t.read())>=0){        if(ch=='\n'){        list1.add(getDIR(buf.toString()));          buf.setLength(0);        }        else{          buf.append((char)ch);        }      }      t.close();    }    catch(IOException ex){      ex.printStackTrace();    }    list1.validate();  }  public String getDIR(String path){      String DIRName;      int ch;      int begin=55;      DIRName=path.substring(begin).trim();      return DIRName;    }    void jButton1_actionPerformed(ActionEvent e) {      int ch;      String hostname=serverEdit.getText();      try{        if(ftp!=null) ftp.closeServer();      }      catch(IOException ex){        ex.printStackTrace();      }      try{        statusBar.setText("正在连接,请等待....");        ftp=new FtpClient(hostname);        if(jRadioButton1.isSelected()){          ftp.login("anonymous","abc@163.com");        }        else          ftp.login(userEdit.getText(),passwordEdit.getText());        ftp.binary();      }      catch(FtpLoginException ex){        statusBar.setText("无权限与主机:"+hostname+"连接!!!");      }      catch(IOException ex){        statusBar.setText("连接主机:"+hostname+"失败!!!");      }      catch(SecurityException ex){        statusBar.setText("用户名或者密码错误,无权限与主机:"+hostname+"连接!!!");      }      statusBar.setText("连接主机:"+hostname+"成功!");      jButton1.setText("刷新");      ReloadList();    }    void jButton4_actionPerformed(ActionEvent e) {      String server=serverEdit.getText();      String user=userEdit.getText();      String password=passwordEdit.getText();      String path=pathEdit.getText();      String filename=filenameEdit.getText();        try {         FtpClient ftpClient=new FtpClient();         ftpClient.openServer(server);         ftpClient.login(user, password);         if (path.length()!=0) ftpClient.cd(path);         ftpClient.binary();         TelnetInputStream is=ftpClient.get(filename);         File file_out=new File(filename);         FileOutputStream os=new         FileOutputStream(file_out);         byte[] bytes=new byte[1024];         int c;         while ((c=is.read(bytes))!=-1) {            os.write(bytes,0,c);         }         is.close();         os.close();         ftpClient.closeServer();      } catch (IOException ex) {;}    }    void jButton2_actionPerformed(ActionEvent e) {      String server=serverEdit.getText();      String user=userEdit.getText();      String password=passwordEdit.getText();      String path=pathEdit.getText();      String filename=filenameEdit.getText();        try {         FtpClient ftpClient=new FtpClient();         ftpClient.openServer(server);         ftpClient.login(user, password);         if (path.length()!=0) ftpClient.cd(path);         ftpClient.binary();         TelnetOutputStream os=ftpClient.put(filename);         File file_in=new File(filename);         FileInputStream is=new FileInputStream(file_in);         byte[] bytes=new byte[1024];         int c;         while ((c=is.read(bytes))!=-1){      os.write(bytes,0,c);}         is.close();         os.close();         ftpClient.closeServer();      } catch (IOException ex) {;}    }  void list1_mouseClicked(MouseEvent e) {    StringBuffer buf=new StringBuffer();    if(ftp==null) list1.removeAll();      if(list1.getRows()>0){       String dir=list1.getSelectedItem().trim();        try{          ftp.cd(dir);          ReloadList();          jTextArea1.append("进入目录:");          jTextArea1.append(dir);          jTextArea1.append("\n");        }        catch(IOException ex){          jTextArea1.append(dir);          jTextArea1.append(":是一个文件\n");        }      }  }}  class Frame1_jButton1_actionAdapter implements java.awt.event.ActionListener {    Frame1 adaptee;    Frame1_jButton1_actionAdapter(Frame1 adaptee) {      this.adaptee = adaptee;    }    public void actionPerformed(ActionEvent e) {      adaptee.jButton1_actionPerformed(e);    }  }  class Frame1_jButton4_actionAdapter implements java.awt.event.ActionListener {  Frame1 adaptee;  Frame1_jButton4_actionAdapter(Frame1 adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton4_actionPerformed(e);  }}class Frame1_jButton2_actionAdapter implements java.awt.event.ActionListener {  Frame1 adaptee;  Frame1_jButton2_actionAdapter(Frame1 adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton2_actionPerformed(e);  }}class Frame1_jMenuFileExit_ActionAdapter implements ActionListener{//定义事件适配器  Frame1 adaptee;  Frame1_jMenuFileExit_ActionAdapter(Frame1 adaptee){    this.adaptee=adaptee;  }  public void actionPerformed(ActionEvent e){    adaptee.jMenuFileExit_actionPerformed(e);  }}class Frame1_jMenuHelpAbout_ActionAdapter implements ActionListener{//定义事件适配器  Frame1 adaptee;  Frame1_jMenuHelpAbout_ActionAdapter(Frame1 adaptee){    this.adaptee=adaptee;  }  public void actionPerformed(ActionEvent e){    adaptee.jMenuHelpAbout_actionPerformed(e);  }}class Frame1_jMenuHelpHelp_ActionAdapter implements ActionListener{  Frame1 adaptee;  Frame1_jMenuHelpHelp_ActionAdapter(Frame1 adaptee){    this.adaptee=adaptee;  }  public void actionPerformed(ActionEvent e){    adaptee.jMenuHelpHelp_actionPerformed(e);  }}class Frame1_list1_mouseAdapter extends java.awt.event.MouseAdapter {  Frame1 adaptee;  Frame1_list1_mouseAdapter(Frame1 adaptee) {    this.adaptee = adaptee;  }  public void mouseClicked(MouseEvent e) {    adaptee.list1_mouseClicked(e);  }}class Frame1_jMenuHelpHelp_actionAdapter implements java.awt.event.ActionListener {  Frame1 adaptee;  Frame1_jMenuHelpHelp_actionAdapter(Frame1 adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jMenuHelpHelp_actionPerformed(e);  }}

⌨️ 快捷键说明

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