我写过一个读FtpRush做的Ftp目录列表文件,然后用JTree显示出来的程序,要是觉得可以参考一下的话,留下email

解决方案 »

  1.   

    感谢jFresH_MaN(The answer is ......) 指点,小弟刚学java不久,请问用XML又如何实现呢?谢谢!   同时谢谢楼上的
      

  2.   

    我的意思是你把你的目录内容应该写在一个xml里面
    因为xml本来就是一个树型结构的
    然后使用dom,jdom或者sax来读取数据都是很简单的
      

  3.   

    当然如果你是初学者那就直接读txt也行
    FileInputStream reader=new FileInputStream("mulu.txt");
    具体的你查一下api啊,这个还是很基础的问题
      

  4.   

    提供一个XML树行菜单的例子:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.JPanel;
    import org.w3c.dom.*;
    import javax.xml.parsers.*;
    import java.io.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2005</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */public class MyPanel1 extends JPanel {
      BorderLayout borderLayout1 = new BorderLayout();  public MyPanel1() {
        try {
          jbInit();
        }
        catch(Exception ex) {
          ex.printStackTrace();
        }
      }
      void jbInit() throws Exception {     JFrame f = new JFrame("MyTree1...");
         Container contentPane = f.getContentPane();
         f.setSize(500, 500);     String aa1;
         DefaultMutableTreeNode rootTreeNode;     NewParseXML parse = new NewParseXML();     aa1 = "C:\\TreeNode.xml";     rootTreeNode = parse.load(new File(aa1));     JTree t = new JTree(rootTreeNode);
         t.putClientProperty("JTree.lineStyle", "Angled");
         JScrollPane scrollPane = new JScrollPane();
         scrollPane.setViewportView(t);
         contentPane.add(scrollPane);     f.setVisible(true);
         f.addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {
             System.exit(0);
           }
         });     this.setLayout(borderLayout1);
      }  public static void main(String[] args) throws Exception{
      try {
        UIManager.setLookAndFeel(
            "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"
            );
      }
      catch (Exception e1) {
        System.exit(0);
      }   new MyPanel1();
      }
    }class NewParseXML {  public MyTreeNode load(File f) throws Exception {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(f);
        MyTreeNode rootTreeNode = load(doc);
        return rootTreeNode;
      }  public MyTreeNode load(Document doc) throws Exception {
        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Element rootEle = doc.getDocumentElement();
        MyTreeNode rootTreeNode = new MyTreeNode(rootEle);
        load(rootTreeNode,rootEle);
        return rootTreeNode;
      }  public void load(DefaultMutableTreeNode treeNode, Element ele) {
        NodeList nodeList = ele.getChildNodes();
        for (int i = 0; i < nodeList.getLength(); i++) {
          Node node = nodeList.item(i);
          MyTreeNode childTreeNode = new MyTreeNode(node);
          if (node.getNodeType() == Node.ELEMENT_NODE) {
            Element childEle = (Element) node;
            load(childTreeNode, childEle);
            treeNode.add(childTreeNode);
          }
        }
      }  public class MyTreeNode extends DefaultMutableTreeNode {    public MyTreeNode(Node XMLNode) {
          super(XMLNode);
        }    public String toString() {
          Node node = (Node)this.getUserObject();
          if (node.getNodeType() == Node.ELEMENT_NODE) {
            Element ele = (Element) node;
            if (ele.getAttribute("Name") != null && !ele.getAttribute("Name").equals("")) {
              return ele.getAttribute("Name");
            }
            return node.getNodeName();
          }
          return node.toString();
        }
      }  public NewParseXML() {
      }
    }
      

  5.   

    建立TreeNode.xml文件,将文件放到C根目录下,内容如下:
    <?xml version="1.0" encoding="gb2312" ?> 
    <Root>
    <TreeNode Name="CSDN论坛"> 
    <TreeNode Name="我的专家门诊">
    <TreeNode Name="我的问题" Href="http://expert.csdn.net/Expert/member/MyForum.asp?typenum=1&amp;frame=true&amp;csdnstyle=" /> 
    <TreeNode Name="我参与问题" Href="http://expert.csdn.net/Expert/member/MyForum.asp?typenum=2&amp;frame=true&amp;csdnstyle=" /> 
    <TreeNode Name="我得分问题" Href="http://expert.csdn.net/Expert/member/MyForum.asp?typenum=3&amp;frame=true&amp;csdnstyle=" /> 
    <TreeNode Name="我的专家分" Href="http://expert.csdn.net/Expert/member/MyExpertPoint.asp?frame=true&amp;csdnstyle=" /> 
    <TreeNode Name="我的收藏夹" Href="http://expert.csdn.net/MyFavorite/My_Favorite.asp?frame=true&amp;csdnstyle=" /> 
    <TreeNode Name="短消息" Href="http://expert.csdn.net/Message_Board/NewMessage.asp?typestate=0&amp;frame=true&amp;csdnstyle=" /> 
    </TreeNode> <TreeNode Name="Web开发" Href="http://expert.csdn.net/Expert/ForumsList.asp?roomid=3&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=">
    <TreeNode Name="ASP" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=301&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    <TreeNode Name="JSP" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=5409&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    <TreeNode Name="Javascript" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=304&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    <TreeNode Name="XML/SOAP" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=306&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    </TreeNode> <TreeNode Name=".NET">
    <TreeNode Name="C#" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=5201&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    <TreeNode Name="ASP.NET" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=5202&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    </TreeNode> <TreeNode Name="MS-SQL SERVER" Href="http://expert.csdn.net/Expert/ForumsList.asp?roomid=57&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" /> 
    <TreeNode Name="软件工程/管理" Href="http://expert.csdn.net/Expert/ForumsList.asp?roomid=4&amp;typenum=1&amp;xmlsrc=&amp;csdnstyle=" />  </TreeNode> <TreeNode Name="CSDN会员"> <TreeNode Name="个人信息设置"> 
    <TreeNode Name="基本信息" Href="http://www.csdn.net/member/register.asp" /> 
    <TreeNode Name="激活文件BBS" Href="http://www.csdn.net/member/activeFilebbs.asp" /> 
    <TreeNode Name="邮递表选择" Href="http://www.csdn.net/member/maillist.asp" /> 
    <TreeNode Name="修改email" Href="http://www.csdn.net/member.shtm" /> 
    <TreeNode Name="修改密码" Href="http://www.csdn.net/member.shtm" /> 
    </TreeNode> <TreeNode Name="我的文档"> 
    <TreeNode Name="最新文档" Href="http://www.csdn.net/Develop/New_Article_List/1.shtm" /> 
    <TreeNode Name="我的分类" Href="http://www.csdn.net/Develop/MyClass/List_MyClass.asp" /> 
    <TreeNode Name="我的文档" Href="http://www.csdn.net/Develop/My_Article.asp" /> 
    <TreeNode Name="发表文章" Href="http://www.csdn.net/Develop/Add_Article.asp" /> 
    </TreeNode> </TreeNode> <TreeNode Name="名家专栏"> 
    <TreeNode Name="侯捷" Href="http://jjhou.csdn.net/" /> 
    <TreeNode Name="蔡学镛" Href="http://www.csdn.net/develop/author/cxy/" /> 
    <TreeNode Name="周奕" Href="http://www.csdn.net/develop/author/ColumnAuthor/zhouyi/" /> 
    <TreeNode Name="潘爱民" Href="http://www.csdn.net/develop/author/pam/" /> 
    <TreeNode Name="蒋涛" Href="http://www.csdn.net/develop/author/jiangtao/" /> 
    <TreeNode Name="王森" Href="http://www.csdn.net/develop/author/ColumnAuthor/moli/" /> 
    <TreeNode Name="刘韧" Href="http://www.csdn.net/develop/author/ColumnAuthor/liurendonews/" /> 
    <TreeNode Name="李学凌" Href="http://www.csdn.net/develop/author/ColumnAuthor/lxl/" /> 
    <TreeNode Name="王国荣" Href="http://www.csdn.net/develop/author/ColumnAuthor/wgr/" /> 
    <TreeNode Name="何致億" Href="http://www.csdn.net/develop/author/ColumnAuthor/hochihyi/" /> 
    <TreeNode Name="柴晓路" Href="http://chaixiaolu.member.csdn.net/" /> 
    <TreeNode Name="陈榕" Href="http://www.csdn.net/develop/author/columnauthor/chenrong/" /> 
    <TreeNode Name="Joshua Kerievsky" Href="http://www.csdn.net/develop/author/ColumnAuthor/Kerievsky/" /> 
    <TreeNode Name="李潘龙" Href="http://www.csdn.net/develop/author/netauthor/global_boy/" /> 
    </TreeNode>
    </Root>
      

  6.   

    谢谢大家,今结贴!感谢 bj_sztj给我的例子,但是我感觉还是难了一点因为里面有很多涉及到import org.w3c.dom.*;和XML方面的东西对我来说都是新知识,希望 bj_sztj能够再给一个比较简单的例子,我们好观摩观摩,谢谢了