📄 frame1.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 + -