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

📄 view.java

📁 Java实现的explorer程序
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            .addGroup(layout.createSequentialGroup()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 576, Short.MAX_VALUE)
                .addContainerGap())
            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 636, Short.MAX_VALUE)
            .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 636, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed
// TODO 将在此处添加您的处理代码:
        JOptionPane.showMessageDialog(jPanel1,"author : Jason" + (char)10 + "Edite : 1.0","About",JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_jMenuItem13ActionPerformed

    private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
// TODO 将在此处添加您的处理代码:
        ((CardLayout)jPanel1.getLayout()).first(jPanel1);
    }//GEN-LAST:event_jMenuItem5ActionPerformed

    private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
// TODO 将在此处添加您的处理代码:
        ((CardLayout)jPanel1.getLayout()).last(jPanel1);
    }//GEN-LAST:event_jMenuItem4ActionPerformed

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
// TODO 将在此处添加您的处理代码:
        String dir = JOptionPane.showInputDialog(jPanel1,"Please write down the Save_dir:");
        connector.download(dir,view.this.download);
    }//GEN-LAST:event_jMenuItem3ActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
// TODO 将在此处添加您的处理代码:
        FtpConnection.root = null;
        theSharefile = null;
        byte[] blank = null;
        try{
            new FileOutputStream("save.txt").write(blank);
        }catch(Exception e){}
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
// TODO 将在此处添加您的处理代码:
        FtpConnection.root = theSharefile;
    }//GEN-LAST:event_jMenuItem1ActionPerformed
    
    /**
     * @param args the command line arguments
     */
    public NetTreeModel initialNetTreeModel(){
        nethost = new Vector<String>();
        NetTreeModel nettree = new NetTreeModel(nethost);
        jTree2 = new JTree(nettree);
        jTree2.setCellRenderer(new NetTreeIconRenderer());
        jTree2.addMouseListener(new DealNetTreeAction());
        return nettree;
    }
           
    public FileSystemModel initialTreeModel(){
        FileSystemModel data = new FileSystemModel();
        jTree1 = new JTree(data);
        this.jTree1.addMouseListener(new DealTreeAction());
        this.jTree1.setCellRenderer(new TreeIconRenderer());
        return data;
    }
    
    public myTableModel initialTableModel(){
        File[] root = File.listRoots();
        Vector<File> rootvector = new Vector<File>();
        for (int i=0;i<root.length;i++)
            rootvector.addElement(root[i]);
        myTableModel data = new myTableModel(rootvector);
        jTable1 = new JTable(data);
        DealTableAction dta = new DealTableAction();
        this.jTable1.getModel().addTableModelListener(dta);
        this.jTable1.addMouseListener(dta);
        this.jTable1.setDefaultRenderer(myFile.class,new TableIconRenderer());
        ((CardLayout)jPanel1.getLayout()).first(jPanel1);
        return data;
    }
    
    public NetTableModel initialNetTableModel(){
        NetTableModel netmodel = new NetTableModel();
        jTable2 = new JTable(netmodel);
        jTable2.addMouseListener(new DealNetTableAction());
        return netmodel;
    }
    
  public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new view().setVisible(true);
            }
        });
    }
//**************************************************************************** 
    class NetTreeIconRenderer extends DefaultTreeCellRenderer{
        NetTreeIconRenderer(){}
        public Component getTreeCellRendererComponent(JTree tree,Object icon,boolean sel,boolean expanded,boolean leaf,int row,boolean hasFocus){
            super.getTreeCellRendererComponent(tree,icon,sel,expanded,leaf,row,hasFocus);
            ImageIcon picture = new ImageIcon("/picture/computer.jpg");
            Image pc = picture.getImage();
            setIcon(new ImageIcon(pc.getScaledInstance(20,20,Image.SCALE_DEFAULT)));
            if (icon.getClass().toString().equals("class java.util.Vector"))
            {
                setText("网络连接");
            }
            return this;
        }
    }
    
    class TreeIconRenderer extends DefaultTreeCellRenderer{
        TreeIconRenderer(){}
        public Component getTreeCellRendererComponent(JTree tree,Object icon,boolean sel,boolean expanded,boolean leaf,int row,boolean hasFocus){
            super.getTreeCellRendererComponent(tree,icon,sel,expanded,leaf,row,hasFocus);
            if (icon.getClass().toString().equals("class java.io.File")
              ||icon.getClass().toString().equals("class explorer.myFile"))
            {
                if (theSharefile != null)
                {
                    try{
                        String std = new File(theSharefile).getCanonicalPath();
                        byte[] change = theSharefile.getBytes();
                        new FileOutputStream("save.txt").write(change);
                        if (((File)icon).getCanonicalPath().startsWith(std))
                        {   
                            ImageIcon shareicon = new ImageIcon("/picture/file.jpg");
                            Image theImage = shareicon.getImage();
                            setIcon(new ImageIcon(theImage.getScaledInstance(20,20,Image.SCALE_DEFAULT)));
                        }
                        else
                            setIcon(FileSystemView.getFileSystemView().getSystemIcon((File)icon));
                    }catch(Exception e){}
                }
                else
                    setIcon(FileSystemView.getFileSystemView().getSystemIcon((File)icon));
            }
            else
            {
                ImageIcon picture = new ImageIcon("/picture/4668199672_29212459.jpg");
                Image pc = picture.getImage();
                setIcon(new ImageIcon(pc.getScaledInstance(20,20,Image.SCALE_DEFAULT)));
                setText("Jason's Computer");
            }
            return this;
        }
    }
    
    class TableIconRenderer extends DefaultTableCellRenderer{
        TableIconRenderer(){}
        public Component getTableCellRendererComponent(JTable table,Object icon,boolean isSelected,boolean hasFocus,int row,int column){
            super.getTableCellRendererComponent(table,icon,isSelected,hasFocus,row,column);
                setIcon(FileSystemView.getFileSystemView().getSystemIcon((File)icon));
            if (icon.toString().equals(""))
                setText(((File)icon).getAbsolutePath());
            return this;
        }   
    }
//************************************************************************************    
    public void actionPerformed(ActionEvent event){
        this.aboutTextFieldEvent();
    }
    public void aboutTextFieldEvent(){
        try{
            path = jTextField1.getText();
            File theFile = new myFile(path);
            if (path.equals("Jason's Computer"))
            {
                File[] root = File.listRoots();
                Vector<File> rootvector = new Vector<File>();
                for (int i=0;i<root.length;i++)
                    rootvector.addElement(root[i]);
                jTable1.setModel(new myTableModel(rootvector));
                ((CardLayout)jPanel1.getLayout()).first(jPanel1);
            }
            else if (theFile.exists())
            {
                if (theFile.isDirectory())
                {
                    jTable1.setModel(new myTableModel(path));
                    ((CardLayout)jPanel1.getLayout()).first(jPanel1);
                    Vector<File> storePath = new Vector<File>();
                    File listFile = theFile;
                    storePath.addElement(listFile);
                    while (listFile.getParent() != null)
                    {    
                        listFile = listFile.getParentFile();
                        storePath.addElement(listFile);
                    }
                    Object[] treePath = new Object[storePath.size()+1];
                    for (int i=storePath.size()-1;i>=0;i--)
                    {
                        treePath[storePath.size()-i] = storePath.get(i);
                    }
                    File[] root = File.listRoots();
                    Vector<File> rootvector = new Vector<File>();
                    for (int i=0;i<root.length;i++)
                        rootvector.addElement(root[i]);
                    treePath[0] = rootvector;
                    TreePath inst = new TreePath(treePath);
                    jTree1.expandPath(inst);
                }
                if (theFile.isFile())
                {
                    Desktop.getDesktop().open(theFile);
                }
            }
            else
            {
                String userName = JOptionPane.showInputDialog(jPanel1,"Please write down your user name:");
                String passWord = JOptionPane.showInputDialog(jPanel1,"Please write down the password:");
                connector = new FtpClient();
                connector.connect(path,21,userName,passWord);
                connector.getList();
                netfile = connector.fileName;
                jTable2.setModel(new NetTableModel(netfile));
                ((CardLayout)jPanel1.getLayout()).last(jPanel1);
            }
        }catch(IOException exp){}
    }
    
    class DealButton1Action implements ActionListener{
        public void actionPerformed(ActionEvent event)
        {
            File currentfile = new myFile(jTextField1.getText());
            if (currentfile.exists())
            {
                File parentFile = new File(jTextField1.getText()).getParentFile();
                if (parentFile != null)
                {
                    view.this.path = parentFile.getAbsolutePath();
                    jTextField1.setText(view.this.path);
                    record_b.addElement(jTextField1.getText());
                    jTable1.setModel(new myTableModel(view.this.path));
                    ((CardLayout)jPanel1.getLayout()).first(jPanel1);
                }
                else
                {
                    File[] root = File.listRoots();
                    Vector<File> rootvector = new Vector<File>();
                    for (int i=0;i<root.length;i++)
                        rootvector.addElement(root[i]);
                    jTable1.setModel(new myTableModel(rootvector));
                    ((CardLayout)jPanel1.getLayout()).first(jPanel1);
                    jTextField1.setText("Jason's Computer");
                    record_b.addElement(jTextField1.getText());
                }
            }
            else
            {
                try{
                    connector.getparentdir();
                    connector.getList();
                    netfile = connector.fileName;
                    jTable2.setModel(new NetTableModel(netfile));
                }catch(Exception e){}
            }
        }
    }
    class DealButton2Action implements ActionListener{
        public void actionPerformed(ActionEvent e){
            File[] root = File.listRoots();
            Vector<File> rootvector = new Vector<File>();
            for (int i=0;i<root.length;i++)
                rootvector.addElement(root[i]);
            jTable1.setModel(new myTableModel(rootvector));
            jTextField1.setText("Jason's Computer");
            record_b.addElement(jTextField1.getText());
            jTree1.setModel(new FileSystemModel());
            ((CardLayout)jPanel1.getLayout()).first(jPanel1);
        }        
    }
    class DealButton3Action implements ActionListener{
        public void actionPerformed(ActionEvent e){
            try{
                FtpClient tryer = new FtpClient();
                for (int i=40;i<=50;i++)
                {
                    String host = "59.66.131."+i;
                    System.out.println(host);
                    if (tryer.isServer(host))
                    {
                        nethost.addElement("59.66.131."+i);
                    }
                }
                jTree2.setModel(new NetTreeModel(nethost));

⌨️ 快捷键说明

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