📄 fileexplorer.java
字号:
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 + -