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

有没有将一个XML文档转换为一棵JTree显示的例子,拜托拜托!

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

    本文导语:  有没有将一个XML文档转换为一棵JTree显示的例子,拜托拜托! | 不好意思这是我以前做的程序不知道现在验证的部分好不好使了 希望对你有帮助 /*  * TreeXmlView   * User: yanglongfei  * Date: Oct...

有没有将一个XML文档转换为一棵JTree显示的例子,拜托拜托!

|
不好意思这是我以前做的程序不知道现在验证的部分好不好使了
希望对你有帮助
/*
 * TreeXmlView 
 * User: yanglongfei
 * Date: Oct 29, 2001
 * Time: 8:51:39 AM
 * @author yanglongfei
 * Tools:Idea
 */

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 

    
 
 

您可能感兴趣的文章:

  • 有没有懂tc的高手来帮帮忙?拜托拜托
  • 有没有真正的高手知道jTable的用法请给个例子好吗?(极高分)
  • 有没有专门介绍APPLET的书,和例子
  • 有没有关于xml生成树的例子,有请发给我?
  • 有没有JSP读文件的例子?
  • 有没有关于如何发布Entity Bean的例子?
  • 有没有那位大虾在redhat9.0下测试过ldd2里面的例子?!
  • 想学习linux下的C++开发,大家有没有好的例子推荐一下!
  • 有谁在linux下用c++读mysql数据库啊!有没有例子让小弟参考啊!急!!!!
  • 有没有办法在线程的run()里面改变外面的类的变量的值,有例子
  • libpcap代码包里有没有文档和例子?
  • 能不能将对象序列化后存到数据库再取出还原?有没有例子?
  • 请问:select函数是干什么用的啊,有没有相关的例子啊?
  • 请问有没有完整的javamail的例子?有的话请告诉小弟,小弟急着用。高分送
  • 有没有关于针对文本文件或数据库读取和写入的例子
  • 有没有EPOLL的例子学习一下?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 有没有at@t汇编格式和intel 汇编格式互相转换的工具啊!
  • 在unix中有没有ucs2编码与中文的转换函数???
  • 请问:Windows平台下有没有将bmp或icon文件转换成xpm格式的工具?
  • iconv可以用来转换文字编码,有没有可以用来识别编码的?
  • Java中有没有Unicode到GB2312或GBK的转换函数?
  • 有没有这样的软件:把一个不标准格式的JAVA原代码转换为具有标准(或比较标准)编码规范的代码。
  • 有没有GCC程序与VS程序转换的工具
  • [AIX]有没有办法查到有没有用户执行了Kill命令
  • linux里有没有象vc那样的IDe啊,有没有类库什么的呢
  • 有没有用过 JCE 的朋友,生成x.509证书,有没有免费算法,用哪家的比较好,给出示例代码!
  • 请问jsp有没方法判断窗口有没有框架???
  • 有没有哪位知道linux下有没有什么可视聊天的工具
  • 请问:编译内核时,make bzimage命令后,提示没有这个规则,这有没有影响呀?
  • 有没有搞错,JSP精华版数据全部没有了。
  • 我想在VMware上装FreeBSD,有没有人这样做过?有什么问题没有?
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?
  • Qt中有没有类似VB中winsock和timer的控件呀,我好像没有找到.
  • 转 请大家讨论一下,现在我们开发J2EE的Application Server还有没有机会,这里有没有这种人才? (愿意给300分)
  • 有没有用过ejb,又开始学com的,如果有,介绍一下经验?没有,则给个理由(如果你有时需要用DNA)?
  • java中有没有destructor的东东,好像一般的class里都没有嘛,难道不要手工做这些事情,全部交给gc处理吗?
  • 在linux redhat6.0中,进入x_window,请问系统有没有自带的c编译器,比如gcc;如果没有,那里可以下载并安装?
  • JAVA中没有宏,那编程和调试起来不是很麻烦吗?有没有一些折中办法?
  • SCJP有没有用
  • InstallShield 有没有linux版本的?
  • 有没有玩的转LINUX源码的高手?
  • 谁知道现在有没有Linux下的搜索引擎?
  • 谁知道现在有没有Linux下的搜索引擎??


  • 站内导航:


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

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

    浙ICP备11055608号-3