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

📄 fileexplorer.java

📁 java GUI编程
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        List attachList = new ArrayList();

        attachList.add(selectedFile.getPath());
        try {
            msg.setAttachments(attachList);
        } catch (IOException ioe) {
            JOptionPane.showMessageDialog(this, ioe.getMessage(), "Error",
                    JOptionPane.ERROR_MESSAGE);
        }

        try {
            Desktop.mail(msg);
        } catch (DesktopException de) {
            JOptionPane.showMessageDialog(this, de.getMessage(), "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
    }

    void jBrowseButton_actionPerformed(ActionEvent e) {
        String addrValue = jAddressTextField.getText();
        String addrValueTrim;

        if ((addrValue != null) && addrValue.trim() != null) {
            addrValueTrim = addrValue.trim();

            URL addressURL = address2URL(addrValueTrim);

            if (addressURL == null) {
                JOptionPane.showMessageDialog(this,
                        "Cannot find '" + addrValueTrim
                        + "'. Make sure the path or Internet address is correct.",
                        "Error",
                        JOptionPane.ERROR_MESSAGE);
            } else {
                try {
                    Desktop.browse(addressURL);
                } catch (DesktopException de) {
                    JOptionPane.showMessageDialog(this, de.getMessage(), "Error",
                            JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }

    // Return a local File object if the given address string is a local file path.
    // If else, null is returned.
    File address2LocalFile(String address) {
        // Check if the text value is a local path by checking if it starts
        // with a driver name(on Windows) or root path(on Unix).
        File localFile = null;
        File[] roots = MyUtility.getRoots();

        for (int i = 0; i < roots.length; i++) {
            if (address.toLowerCase().startsWith(roots[i].toString().toLowerCase())) {
                localFile = new File(address);
                break;
            }
        }

        return localFile;
    }

    // Return an URL object if the given address string could be converted to
    // an URL. If else, null is returned.
    URL address2URL(String address) {
        URL tempUrl = null;

        try {
            File localFile = address2LocalFile(address);

            if (localFile != null) {
                tempUrl = localFile.toURL();
            } else {
                // Check if the text value is a valid URL.
                try {
                    tempUrl = new URL(address);
                } catch (MalformedURLException e) {
                    if (address.toLowerCase().startsWith("ftp.")) {
                        tempUrl = new URL("ftp://" + address);
                    } else if (address.toLowerCase().startsWith("gopher.")) {
                        tempUrl = new URL("gopher://" + address);
                    } else {
                        tempUrl = new URL("http://" + address);
                    }
                }
            }
        } catch (MalformedURLException mue) {}

        return tempUrl;
    }

    void jAddressTextField_actionPerformed(ActionEvent e) {
        String addrValue = jAddressTextField.getText();

        if ((addrValue == null) || addrValue.trim() == null) {
            return;
        }

        String addrValueTrim = addrValue.trim();

        // Check if the address string is a local file path.
        File localFile = address2LocalFile(addrValueTrim);

        if (localFile != null) {
            if (localFile.isFile()) {
                // It's a local path to a file. Open it.
                try {
                    Desktop.open(localFile);
                } catch (DesktopException de) {
                    JOptionPane.showMessageDialog(this, de.getMessage(), "Error",
                            JOptionPane.ERROR_MESSAGE);
                }
            } else if (localFile.isDirectory()) {
                exploreDirectory(localFile);
            } else {
                JOptionPane.showMessageDialog(this,
                        "Cannot find '" + addrValue
                        + "'. Make sure the path or Internet address is correct.",
                        "Error",
                        JOptionPane.ERROR_MESSAGE);
            }
        } else {
            // Check if the address string value is a URL string.
            URL tempUrl = address2URL(addrValueTrim);

            if (tempUrl == null) {
                JOptionPane.showMessageDialog(this,
                        "Cannot find '" + addrValue
                        + "'. Make sure the path or Internet address is correct.",
                        "Error",
                        JOptionPane.ERROR_MESSAGE);
            } else {
                try {
                    Desktop.browse(tempUrl);
                } catch (DesktopException de) {
                    JOptionPane.showMessageDialog(this, de.getMessage(), "Error",
                            JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }
}


class FileExplorer_jTreeDisk_treeSelectionAdapter
        implements javax.swing.event.TreeSelectionListener {
    FileExplorer adaptee;

    FileExplorer_jTreeDisk_treeSelectionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

    public void valueChanged(TreeSelectionEvent e) {
        adaptee.jTreeDisk_valueChanged(e);
    }
}


class FileExplorer_jTable_mouseAdapter extends java.awt.event.MouseAdapter {
    FileExplorer adaptee;

    FileExplorer_jTable_mouseAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

    public void mouseClicked(MouseEvent e) {
        adaptee.jTable_mouseClicked(e);
    }

    public void mousePressed(MouseEvent e) {
        adaptee.jTable_maybePopUpMenu(e);
    }

    public void mouseReleased(MouseEvent e) {
        adaptee.jTable_maybePopUpMenu(e);
    }
}


class FileExplorer_jTreeDisk_treeExpansionAdapter implements javax.swing.event.TreeExpansionListener {
    FileExplorer adaptee;

    FileExplorer_jTreeDisk_treeExpansionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

    public void treeExpanded(TreeExpansionEvent e) {
        adaptee.jTreeDisk_treeExpanded(e);
    }

    public void treeCollapsed(TreeExpansionEvent e) {}
}


class FileExplorer_jMenuItemOpen_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jMenuItemOpen_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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


class FileExplorer_jMenuItemEdit_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jMenuItemEdit_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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


class FileExplorer_jMenuItemPrint_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jMenuItemPrint_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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


class FileExplorer_jMenuItemBrowse_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jMenuItemBrowse_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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


class FileExplorer_jMenuItemMail_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jMenuItemMail_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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


class FileExplorer_jBrowseButton_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jBrowseButton_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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


class FileExplorer_jTreeDisk_mouseAdapter extends java.awt.event.MouseAdapter {
    FileExplorer adaptee;

    FileExplorer_jTreeDisk_mouseAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

    public void mouseClicked(MouseEvent e) {
        adaptee.jTreeDisk_mouseClicked(e);
    }
}


class FileExplorer_jTreeDisk_treeWillExpandAdapter implements javax.swing.event.TreeWillExpandListener {
    FileExplorer adaptee;

    FileExplorer_jTreeDisk_treeWillExpandAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

    public void treeWillExpand(TreeExpansionEvent e) throws ExpandVetoException {
        adaptee.jTreeDisk_treeWillExpand(e);
    }

    public void treeWillCollapse(TreeExpansionEvent e) {}
}


/**
 * Below class is used to eliminate the grey area of the scroll pane
 * that is not filled in the table.
 */
class MyTable extends JTable implements Scrollable {
    public boolean getScrollableTracksViewportHeight() {
        Component parent = getParent();

        if (parent instanceof JViewport) {
            return parent.getHeight() > getPreferredSize().height;
        }

        return false;
    }
}


class FileExplorer_jAddressTextField_actionAdapter implements java.awt.event.ActionListener {
    FileExplorer adaptee;

    FileExplorer_jAddressTextField_actionAdapter(FileExplorer adaptee) {
        this.adaptee = adaptee;
    }

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

⌨️ 快捷键说明

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