| | | 使用Java Swing 创建一个XML编辑器 | | 2001-05-28·
·wayne··yesky
| 上一页 1 2 3 4 5 下一页 下面我给出了java代码,供大家分析研究。
// 到入W3C的DOM 类 import org.w3c.dom.*; // JAXP的用于DOM I/O的类 import javax.xml.parsers.*; // 标准Java类 import javax.swing.*; import javax.swing.tree.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class XTree extends JTree { /** * 这个成员变量储存TreeNode对象用于存储JTree的模型。 *DefaultMutableTreeNode类是在javax.swing.tree中被定义的 *默认提供了MutableTreeNode接口的一个实现。 */ private DefaultMutableTreeNode treeNode; /** * 这三个成员变量是JAXP的一部分,用来分析XML文本并转化成DOM(Document Object Model) 对象。 */ private DocumentBuilderFactory dbf; private DocumentBuilder db; private Document doc; | /** * 这个构造函数通过使用传送到构造器中的XML文本创建一个XTree对象
* @参数 text是一个XML格式的XML文本
* @异常 ParserConfigurationException 如果构造函数非正常的设置分析器,就会抛出异常
*/
public XTree( String text ) throws ParserConfigurationException { super();
// 设置Tree渲染的基本属性 getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION ); setShowsRootHandles( true ); setEditable( false ); // 允许树可以编辑
// 通过初始化对象的DOM来分析对象 dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating( false ); db = dbf.newDocumentBuilder();
// 采用DOM根节点并且把它转化成JTree的树模型 treeNode = createTreeNode( parseXml( text ) ); setModel( new DefaultTreeModel( treeNode ) ); } file://中止XTree()
| /**
* 这个方法采用一个DOM 节点,然后在子节点中递归直到所有的接点都被添加到DefaultMutableTreeNode中。
* 这是一个递归方法,为了找到根节点下的每一个子节点,它每次都要调用自己。
* JTree然后就可以使用DefaultMutableTreeNode对象了,因为它已经是树型了。
*
* @参数 root org.w3c.Node.Node
*
* @返回值 返回一个基于根节点DefaultMutableTreeNode对象
*/
上一页 1 2 3 4 5 下一页 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|