操纵Java Swing成立一个XML编辑器[Java编程]
本文“操纵Java Swing成立一个XML编辑器[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
我想您一定对XML有所理解,说不定您目前还跃跃欲试想写一段XML文本呢,但是目前能找到的跨平台的、免费的XML编辑器太少了.所以在本文中,我想介绍一下大概说带您一步一步的开辟一个简单的XML编辑器,当然我们要用到一些最常见的Java 2 Swing组件,不过这些都是免费的,有些是JDK中的,有些是可以从网上下载的.我想通过本文,你便可以成立一个属于你自己的XML编辑器.
先让我介绍一下本文辑写的思绪.首先我想扼要的谈论一下XML和为什么树型构造对比适实用来显示XML,然后我们来看一看JAXP API若何成立所需求的XML类的环境;然后我们将理解用来显示一个图形树的JTree Swing组件;最后,我们将成立一个担当JTree组件的可以反复利用的类,可以用来解析一个XML文档,并把数据显示在一个Jtree中.
说到XML(eXtensible Markup Languge),人们常常把它当作是一种新的用于Web浏览器中的标志语言,就象HTML或CSS一样.其实,XML是一种数据表示语言,它答应你利用一种非常有效的办法来描写你的数据.XML可以使你定义诸如“these three words constitutes a heading”这样的语句.XML答应你声明任何范例的数据,而不是用来把这些数据显示在网页中.
请看一看下面的XML实例:
<article>
<header>
<title> 利用Java Swing 成立一个XML编辑器
<subtitle> 第一部份</subtitle>
</title>
<author> Wayne </author>
<header>
<content> 这是正文</content>
</article>
请注意,这些元素和尺度的HTML语句是差别的,但是它们看上去对比象HTML,这是因为XML和HTML都是根源于SGML语言.差别的是HTML有预定义的标签集,而XML的语法例有很多机动性,它答应你利用表意的标志如<author>来括在数据两边.你还要注意,全部的元素都从属于根元素(上例中为<article>),有些元素则还有自己的子元素,如<subtitle>就是<title>的子元素.这样的数据组织方法有三个好处:数据可以越发表意,数据越发易保护并且数据越发简单作为一个树的构造表现出来,这就是我们为什么利用JTree对象来显示XML数据的缘由.假如你想对XML有更深的理解,请参阅天极网上的相关教程.
JAXP是一个用于处理XML的Java API,它可以使利用程序解析并且转化XML文档,它的功效有点象JDBC API,都是把函数功效抽象成一个个办法.你可以去Apache网站找到最新的Xerces解析器,此中含有最新的JAXP,下载下来今后把它放在你的类目录中.
下面让我们看一下若何利用JTree Swing组件.
我们都知道,在自然界中,一棵树普通都有一个非常粗的树干,树干上有很多树枝分叉.每个树杈和树杈之间都有一定的接洽,因为它们都有同一个根源:树干.这种担当的关系并不只在树枝中有,人类谱系也遵守相同的规律.从父母,到子女再到子女的子女,就这样直到数不清为止.一样,在数据存储中,树的概念也是一种利用同人类家谱树一样办法储存数据的办法.树的每一个树杈称为一个节点,每个有子节点的节点称为父节点,全部的子节点的大众的父节点被称为根节点.一个JTree组件就是一个简单的树数据构造的可视化表现情势.
几近全部的XML编辑器都包含一个可视化的树构造,能让你编辑XML文档中的元素.我们即刻就会构建一个编辑器,不过在此之前,先让我们再理解一下JTree组件.一个节点在一棵树的某个位置储存数据,为了存储数据,必须知道任何一个父节点和它们的子节点.javax.swing.tree包定义了一些非常有效的接口,供应了一种通用的办法构建和操作一个树构造.
TreeNode办法,用于拜候树的节点的信息
MutableTreeNode办法 用在一个可变的树上(可以增添或删除子节点)
TreeModel办法 用于成立和管理与树有关的数据模子.
接下来,我们将成立一个担当JTree的类,供应解析XML文档和用可视化JTree组件把节点显示出来的功效.
成立XTree组件
XTree类由一个构造函数和三个办法构成,为了简单起见我们的组件只能构建一个Xtree,在树成立好之后不能举行处理它的节点.下面让我们来看一个这个类.
域:
private DefaultMutableTreeNode treeNode 这个成员变量储存TreeNode对象用于存储JTree的模子.
DefaultMutableTreeNode类是在javax.swing.tree中被定义的,默许供应了MutableTreeNode接口的一个实现.
private DocumentBuilderFactory dbf
private DocumentBuilder db
private Document doc 这三个成员变量是JAXP的一部份,用来解析XML文本并转化成DOM(Document Object Model) 对象.
以上是“操纵Java Swing成立一个XML编辑器[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |