📄 使用java swing 创建一个xml编辑器(一).txt
字号:
case Node.TEXT_NODE:
{
type = "Text";
break;
}
case Node.CDATA_SECTION_NODE:
{
type = "CData section";
break;
}
case Node.ENTITY_REFERENCE_NODE:
{
type = "Entity reference";
break;
}
case Node.ENTITY_NODE:
{
type = "Entity";
break;
}
case Node.PROCESSING_INSTRUCTION_NODE:
{
type = "Processing instruction";
break;
}
case Node.COMMENT_NODE:
{
type = "Comment";
break;
}
case Node.DOCUMENT_NODE:
{
type = "Document";
break;
}
case Node.DOCUMENT_TYPE_NODE:
{
type = "Document type";
break;
}
case Node.DOCUMENT_FRAGMENT_NODE:
{
type = "Document fragment";
break;
}
case Node.NOTATION_NODE:
{
type = "Notation";
break;
}
default:
{
type = "???";
break;
}
}// 结束 switch( node.getNodeType() )
return type;
} file://结束 getNodeType()
/**
* 这个方法,用来分析XML文本字符串,它返回Node类型的对象,能够被传送到createTreeNode()方法中。
*
* @参数 text 一个显示XML文档的字符串
* @返回值 返回一个org.w3c.Node.Node对象
*/
private Node parseXml( String text )
{
ByteArrayInputStream byteStream;
byteStream = new ByteArrayInputStream( text.getBytes() );
try
{
doc = db.parse( byteStream );
}
catch ( Exception e )
{
e.printStackTrace();
System.exit(0);
}
return ( Node )doc.getDocumentElement();
} file://结束 parseXml()
} file://结束 class XTree
代码2 XTreeTester.java
import javax.xml.parsers.*;
// GUI类
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
file://标准 Java类
import java.io.*;
public class XTreeTester extends JFrame
{
// XTree对象,用来在JTree中显示XML
private XTree xTree;
// JScrollPane是JTree的容器
private JScrollPane jScroll;
private WindowListener winClosing;
// 设置框架的宽和高
private static final int FRAME_WIDTH = 400;
private static final int FRAME_HEIGHT = 300;
/*
* 构造器构造一个框架包含JScrollPane,
* 把一个基于XML字符串的XTree对象传到构造函数中
*/
public XTreeTester( String title, String xml ) throws
ParserConfigurationException
{
super( title );
Toolkit toolkit;
Dimension dim, minimumSize;
int screenHeight, screenWidth;
// 初始化基本的布局属性
setBackground( Color.lightGray );
getContentPane().setLayout( new BorderLayout() );
toolkit = Toolkit.getDefaultToolkit();
dim = toolkit.getScreenSize();
screenHeight = dim.height;
screenWidth = dim.width;
setBounds( (screenWidth-FRAME_WIDTH)/2,
(screenHeight-FRAME_HEIGHT)/2, FRAME_WIDTH, FRAME_HEIGHT );
// 构建XTree对象
xTree = new XTree( xml );
file://把XTree封装到JScroll中,以便在JFrame可以使它在屏幕中上下滚动.
jScroll = new JScrollPane();
jScroll.getViewport().add( xTree );
// 添加滚动条到框架中
getContentPane().add( jScroll, BorderLayout.CENTER );
validate();
setVisible(true);
// 添加WindowListener用来关闭窗口
winClosing = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
exit();
}
};
addWindowListener(winClosing);
}
// 程序从这里开始执行。必须把一个以xml为扩展名的XML文件传送到这个方法中,其格式为java XTreeTester
yourxmlfilename.xml
public static void main( String[] args )
{
String fileName = "";
BufferedReader reader;
String line;
StringBuffer xmlText;
XTreeTester xTreeTester;
// 创建一个基于特定XML文件的文档对象
try
{
if( args.length > 0 )
{
fileName = args[0];
if ( fileName.substring( fileName.indexOf( ´.´ ) ).equals( ".xml" )
)
{
reader = new BufferedReader( new FileReader( fileName ) );
xmlText = new StringBuffer();
while ( ( line = reader.readLine() ) != null )
{
xmlText.append( line );
}
// 分析完文档对象后将重写文件
reader.close();
// 构造 GUI 组件
xTreeTester = new XTreeTester( "XTree 测试", xmlText.toString() );
}
else
{
help();
}
}
else
{
help();
}
}
catch( FileNotFoundException fnfEx )
{
System.out.println( "没有发现"+ fileName + "文件。" );
exit();
}
catch( Exception ex )
{
ex.printStackTrace();
exit();
}
}
file://帮助信息
private static void help()
{
System.out.println( " 使用方法:java XTreeTester yourxmlfilename.xml" );
System.exit(0);
}
// 退出
private static void exit()
{
System.out.println( " 谢谢使用 XTree" );
System.exit(0);
}
}
文章录入:admin 责任编辑:admin
上一篇文章: JOX(关于Java处理xml文档的讨论)
下一篇文章: 使用Java Swing创建一个XML编辑器之二
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
赛酷网络版权、投稿与免责申明:
1)凡本网署名文字、图片和音视频稿件,版权均属赛酷网络所有。任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载使用时必须注明“稿件来源:赛酷网络”,违者本网将依法追究责任。
2)本网注明“采编自”的文章均为转载稿,本网转载出于传递更多信息之目的。如本网转载稿涉及版权等问题,请作者在两周内速来电或来函与本网联系。
最新热点最新推荐相关文章
[组图]Photoshop唯美女孩变
[组图]色诱:揭秘封面"色"
[组图]万网域名管理平台操
[组图]Photoshop把生活照“
[组图]Photoshop打造超酷春
[组图]Photoshop把照片制作
[组图]Photoshop实例提高:
[组图]用Photoshop为美女照
[组图]用Photoshop还你照片
[组图]Photoshop轻松实现艺
GG优化之三——有效的页面
GG优化之二——优化通行方
GG优化之一——GG搜索引擎
个人网站赢利模式的选择
十条面向搜索引擎的网站优
两个域名共用一个空间的实
[组图]Photoshop滤镜简单打
[组图]用Photoshop还你照片
[组图]Photoshop轻松实现艺
使用md5sum创建文件指纹验证
使用NetFlow分析网络异常流量
使用NetFlow分析网络异常流量
使用NetFlow分析网络异常流量
使用NetFlow分析网络异常流量
使用NetFlow分析网络异常流量
使用NetFlow分析网络异常流量
使用NetFlow分析网络异常流量
使用虚拟机测试你的补丁
使用Exchange 2003防御地址欺
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
没有任何评论
联系我们 - 关于我们 - 广告商务 - 汇款帐号 - 工作机会 - 网站律师 - 合作伙伴 - 我要发布
地址:中国·昆明盘龙区丽水天锦A栋15楼A06 服务热线:0871-5610002 573237155693344 94030638
广告商务:sales#syku.net 客服:service#syku.net 帮助:help#syku.net
投诉:tousu#syku.net
业务资质:中国万网2006核心合作伙伴;动易网络深圳、昆明区域代理商
赛酷网络 版权所有 备案编号:滇ICP备05000398号
Copyright 2003-2006 赛酷网 Syku.Net
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -