当前位置:  技术问答>java相关

哪为大哥帮我XML文件显示到一个是树上

    来源: 互联网  发布时间:2015-11-10

    本文导语:  哪为大哥帮我XML文件显示到一个是树上 | import org.w3c.dom.*; import org.apache.xerces.parsers.DOMParser; import javax.swing.*; import javax.swing.event.TreeModelListener; import javax.swing.tree.DefaultTreeModel; import javax.swin...

哪为大哥帮我XML文件显示到一个是树上

|
import org.w3c.dom.*;
import org.apache.xerces.parsers.DOMParser;

import javax.swing.*;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TreeXmlView extends JFrame {
    JTree tree;
    Document dom = null;

    public TreeXmlView() throws Exception {
        super("TreeXmlView");
        setSize(300, 300);
        setLayout();
        WindowAdapter closing = new WindowAdapter() {
            public void windowClosing(WindowEvent ew) {
                System.exit(0);
            }
        };
        addWindowListener(closing);
        setVisible(true);
    }

    public void setLayout() throws Exception {
        dom = getDocument();
        MyTreeModel mm = new MyTreeModel(dom);
        tree = new JTree(mm);
        tree.setCellRenderer(new MyDefaultCellRenderer());
        JScrollPane jsp = new JScrollPane();
        jsp.getViewport().add(tree);
        getContentPane().add(jsp, BorderLayout.CENTER);
    }

    public Document getDocument() throws Exception {
//        DocumentBuilderFactory doc = DocumentBuilderFactory.newInstance();
//        DocumentBuilder dom = doc.newDocumentBuilder();
//        Document parser = dom.parse("book.xml");


        DOMParser parser = new DOMParser();
        parser.setFeature("http://xml.org/sax/features/validation  ", true);
        parser.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace", false);
        parser.parse("book.xml");
        Document doc = parser.getDocument();
        return doc;
    }

    public static void main(String args[]) throws Exception {
        TreeXmlView txv = new TreeXmlView();
    }
}

class MyTreeModel implements TreeModel {
    private Document root = null;

    public MyTreeModel(Document root) {
        this.root = root;


    }

    public Object getRoot() {
        return root;

    }

    public Object getChild(Object parent, int index) {

        return ((Node) parent).getChildNodes().item(index);
    }

    public int getChildCount(Object parent) {

        return ((Node) parent).getChildNodes().getLength();
    }


    public boolean isLeaf(Object node) {

        return ((Node) node).getChildNodes().getLength() == 0;
    }

    public void valueForPathChanged(TreePath path, Object newValue) {
    }

    public int getIndexOfChild(Object parent, Object child) {

        NodeList nl = ((Node) parent).getChildNodes();
        for (int i = 0; i 

    
 
 

您可能感兴趣的文章:

  • 哪位大哥知道如何将rtf文件转化成html文件,请赐教,最好给个程序看看!多谢,多谢,120分奉上!!!
  • 各位大哥,谁知道怎么把iso文件给解开
  • 那位大哥能助小弟写一个递归遍历所有文件的函数?
  • 那位大哥有UNIX下监控指定文件的改动情况的源码?
  • 有生成过csv格式文件的大哥,请指点一下,送分
  • 谈谈“文件上传“的思路?大哥请指教
  • 如何以字节流读取一个文件,以readline()读出?大哥快帮忙!
  • 各位大哥帮个忙,小弟不懂unix,请帮忙把下面的.sh文件转换成.bat文件
  • 完了,我不小心删除了一个数据文件,使用(RM *.DBF),请问各位大哥有没有办法补救。
  • 哪位大哥大姐知道结果集中的日期类数据在输出显示时应转换为什么类型的数据,怎么转换?
  • QT/E PushButton上显示中文的问题?各位大哥来帮帮忙吧!
  • 小妹请教各位大哥,在unix下,如何显示进程,和kill掉进程?
  • 各位大哥大姐,如何正确显示汉字?如何使用鼠标右键?一定给分
  • 各位学兄大哥,小弟刚学LINUX,可是装好后不能显示中文了,我应该怎么办?
  • 关于用XImage显示图像的错误,请各位大哥帮帮忙!
  • 那位大哥大姐能帮助我设定red hat linux 8.0 的显示器刷新率啊
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大哥、大哥,你好吗?
  • 过河小兵,求救各位大哥,我想把stl中的map,vector等容器,做成内存共享方式,希望大哥大姐们指点一下
  • 请教各位大哥!!!
  • 各位大哥帮忙啊!
  • 请各位大哥告知JAVA中消息机制的有关资料,拜托!
  • 想学qt,大哥大姐前辈们介绍几本书吧,最好能提供电子版,谢谢~~~~~~~~~~~
  • 各位前辈大哥,大家好。可否帮忙?
  • 那位大哥有Solaris下安装配置cvs的具体步骤,我先谢了!!!!
  • php iis7站长之家
  • 不知那位大哥有 Optimizeit 4.2 的破解包。高分求购
  • 哪位大哥,大姐知道国内那个网站有jdk1.4的API下载,告诉小弟一下
  • 各位大哥请帮忙!!
  • 哪位大哥知道浙大兰德怎么样?面试会试些什么呀?
  • 哪位大哥知道杭州CSK公司怎么样?面试会试些什么呀? 薪水大概多少?急!!谢谢!!
  • 哪位大哥有www server方面的源码(c++)在linux上面运行,小弟300分求!!
  • 如何通过telnet登陆FreeBSD,哪位大哥给出详细说明
  • 怎样才能启动我的linux,请大哥赐教!
  • 提个菜鸟问题,哪位大哥帮帮我。
  • 哪位大哥帮帮我,安装时的超级终端问题。
  • unix网络编程资料帮忙 大哥大姐进来瞧瞧啊


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3