搜索关键字:tree
找到一大堆

解决方案 »

  1.   

    部分代码如下(仅供参考):    DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("My Computer");
        addLocoalRoots(rootNode, true);
        jTreeFile = new JTree(rootNode, true);  public void addLocoalRoots(DefaultMutableTreeNode rootNode) {    DefaultMutableTreeNode fatherNode = null;
        DefaultMutableTreeNode childrenNode = null;    File[] roots = File.listRoots();    for (int i = 0; i < roots.length; i++) {
          System.out.println(roots[i]);
          if(roots[i].isDirectory() ){
            fatherNode = new DefaultMutableTreeNode(roots[i], true);
            rootNode.add(fatherNode);
          }else{
            // deal with movable disk
            fatherNode = new DefaultMutableTreeNode(roots[i], true);
            rootNode.add(fatherNode);
          }    }
      }
      public void addChildrenNodes(DefaultMutableTreeNode fatherNode, String strAbsolutePath) {
        DefaultMutableTreeNode childrenNode = null;
        File dir = new File( strAbsolutePath );
        if ( ! dir.isDirectory() ) {
          fatherNode.setAllowsChildren(false);
          return;
        }
        File[] subDir = dir.listFiles();    // add directories
        for (int i = 0; i < subDir.length; i++) {
          if( subDir[i].isDirectory() ){
            childrenNode = new DefaultMutableTreeNode(subDir[i].getName(), true);
            fatherNode.add(childrenNode);
            subDir[i] = null;
          }
        }    // add others
        for (int i = 0; i < subDir.length; i++) {
          if( subDir[i] == null ){
            continue;
          }
          childrenNode = new DefaultMutableTreeNode(subDir[i].getName(), false);
          fatherNode.add(childrenNode);
        }  }  void jTreeFile_treeWillExpand(TreeExpansionEvent e) throws ExpandVetoException {    DefaultMutableTreeNode node =
                     (DefaultMutableTreeNode) (e.getPath().getLastPathComponent());
        if (node == null) return;
        if ( node.isRoot() ) return;
        System.out.println("jTreeFile_treeWillExpand(TreeExpansionEvent): " + node.toString());
        addChildrenNodes(node, getAbsolutePath(e.getPath()));  }