⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 使用java swing 创建一个xml编辑器(一).txt

📁 使用Java Swing 创建一个XML编辑器
💻 TXT
📖 第 1 页 / 共 2 页
字号:
            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 + -