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

📄 fstree.java

📁 java swing 开发代码
💻 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 + -