您现在的位置是: 软件 > 开发者网络 > 程序方舟 > Java专栏 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

使用Java Swing 创建一个XML编辑器
2001-05-28· ·wayne··yesky

上一页  1 2 3 4 5  


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( "\n使用方法:java XTreeTester yourxmlfilename.xml" );
System.exit(0);
}

// 退出
private static void exit()
{
System.out.println( "\n谢谢使用 XTree" );
System.exit(0);
}

}

上一页  1 2 3 4 5  

【责任编辑:方舟 】
【发表评论】【关闭窗口】
■ 相关内容
 用JAVA实现线程等待提示框
 使用Java Swing创建一个XML编辑器之三
 使用Java Swing创建一个XML编辑器之二
 学习使用XML引擎XQEngine
 使用JavaBean高效处理JSP
 用ASP+XML打造留言本
 制作安装程序的好工具Setup Factory
 用 Java 保存位图文件
 Java布局管理器深入讨论
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!