| | | 使用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 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|