📄 fstree.java
字号:
// FSTree.java// A sample component for dragging & dropping a collection of files// into a tree.//package jswing.ch24;import javax.swing.*;import javax.swing.tree.*;import java.awt.datatransfer.*;import java.util.List;import java.util.Iterator;import java.io.File;import java.io.IOException;public class FSTree extends JTree { public FSTree() { super(); init(); } public FSTree(TreeModel newModel) { super(newModel); init(); } public FSTree(TreeNode root) { super(root); init(); } public FSTree(TreeNode root, boolean asks) { super(root, asks); init(); } private void init() { // We don't want to export anything from this tree, only import setDragEnabled(false); setTransferHandler(new FSTransfer()); } public class FSTransfer extends TransferHandler { public boolean importData(JComponent comp, Transferable t) { // Make sure we have the right starting points if (!(comp instanceof FSTree)) { return false; } if (!t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { return false; } // Grab the tree, its model and the root node FSTree tree = (FSTree)comp; DefaultTreeModel model = (DefaultTreeModel)tree.getModel(); DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot(); try { List data = (List)t.getTransferData(DataFlavor.javaFileListFlavor); Iterator i = data.iterator(); while (i.hasNext()) { File f = (File)i.next(); root.add(new DefaultMutableTreeNode(f.getName())); } model.reload(); return true; } catch (UnsupportedFlavorException ufe) { System.err.println("Ack! we should not be here.\nBad Flavor."); } catch (IOException ioe) { System.out.println("Something failed during import:\n" + ioe); } return false; } // We only support file lists on FSTrees... public boolean canImport(JComponent comp, DataFlavor[] transferFlavors) { if (comp instanceof FSTree) { for (int i = 0; i < transferFlavors.length; i++) { if (!transferFlavors[i].equals(DataFlavor.javaFileListFlavor)) { return false; } } return true; } return false; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -