求教 从文件mulu.txt中读取内容建树的例子,万分感谢!

harbor1981 2005-02-21 11:56:02
mulu.txt内容假设为福建,广东,浙江等,要建一个树,树目录为福建,广东,浙江

请各位大哥大姐提供一个完整的代码,谢先了!
...全文
122 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
harbor1981 2005-04-14
  • 打赏
  • 举报
回复
谢谢大家,今结贴!

感谢 bj_sztj给我的例子,但是我感觉还是难了一点

因为里面有很多涉及到import org.w3c.dom.*;和XML方面的

东西对我来说都是新知识,希望 bj_sztj能够再给一个比较简单的

例子,我们好观摩观摩,谢谢了
bj_sztj 2005-02-22
  • 打赏
  • 举报
回复
建立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&frame=true&csdnstyle=" />
<TreeNode Name="我参与问题" Href="http://expert.csdn.net/Expert/member/MyForum.asp?typenum=2&frame=true&csdnstyle=" />
<TreeNode Name="我得分问题" Href="http://expert.csdn.net/Expert/member/MyForum.asp?typenum=3&frame=true&csdnstyle=" />
<TreeNode Name="我的专家分" Href="http://expert.csdn.net/Expert/member/MyExpertPoint.asp?frame=true&csdnstyle=" />
<TreeNode Name="我的收藏夹" Href="http://expert.csdn.net/MyFavorite/My_Favorite.asp?frame=true&csdnstyle=" />
<TreeNode Name="短消息" Href="http://expert.csdn.net/Message_Board/NewMessage.asp?typestate=0&frame=true&csdnstyle=" />
</TreeNode>

<TreeNode Name="Web开发" Href="http://expert.csdn.net/Expert/ForumsList.asp?roomid=3&typenum=1&xmlsrc=&csdnstyle=">
<TreeNode Name="ASP" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=301&typenum=1&xmlsrc=&csdnstyle=" />
<TreeNode Name="JSP" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=5409&typenum=1&xmlsrc=&csdnstyle=" />
<TreeNode Name="Javascript" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=304&typenum=1&xmlsrc=&csdnstyle=" />
<TreeNode Name="XML/SOAP" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=306&typenum=1&xmlsrc=&csdnstyle=" />
</TreeNode>

<TreeNode Name=".NET">
<TreeNode Name="C#" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=5201&typenum=1&xmlsrc=&csdnstyle=" />
<TreeNode Name="ASP.NET" Href="http://expert.csdn.net/Expert/ForumList.asp?roomid=5202&typenum=1&xmlsrc=&csdnstyle=" />
</TreeNode>

<TreeNode Name="MS-SQL SERVER" Href="http://expert.csdn.net/Expert/ForumsList.asp?roomid=57&typenum=1&xmlsrc=&csdnstyle=" />
<TreeNode Name="软件工程/管理" Href="http://expert.csdn.net/Expert/ForumsList.asp?roomid=4&typenum=1&xmlsrc=&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>

bj_sztj 2005-02-22
  • 打赏
  • 举报
回复
提供一个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() {
}
}

jFresH_MaN 2005-02-22
  • 打赏
  • 举报
回复
当然如果你是初学者那就直接读txt也行
FileInputStream reader=new FileInputStream("mulu.txt");
具体的你查一下api啊,这个还是很基础的问题
jFresH_MaN 2005-02-22
  • 打赏
  • 举报
回复
我的意思是你把你的目录内容应该写在一个xml里面
因为xml本来就是一个树型结构的
然后使用dom,jdom或者sax来读取数据都是很简单的
harbor1981 2005-02-22
  • 打赏
  • 举报
回复
难道就没有人肯帮我这个忙吗?5555555555555555555555
jFresH_MaN 2005-02-21
  • 打赏
  • 举报
回复
晕,怎么不用xml
cchaha 2005-02-21
  • 打赏
  • 举报
回复
我也不懂,烦请知道的发到我的邮箱:cchaha8@163.com
先谢谢了
harbor1981 2005-02-21
  • 打赏
  • 举报
回复
感谢jFresH_MaN(The answer is ......) 指点,小弟刚学java不久,请问用XML又如何实现呢?谢谢!我的邮箱 jonna2010@tom.com 同时谢谢楼上的
loreorion 2005-02-21
  • 打赏
  • 举报
回复
我写过一个读FtpRush做的Ftp目录列表文件,然后用JTree显示出来的程序,要是觉得可以参考一下的话,留下email

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧