📄 fileexplorer.java
字号:
void jMenuItemMail_actionPerformed(ActionEvent e) { Message msg = new Message(); 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 + -