快速业务通道

使用Java Swing创建一个XML编辑器之三 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
除非我们使用下列设置覆盖它:

setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );

新的设置将使响应窗口关闭事件时绝对不会关闭它本身。它只有响应System.exit()调用时才会关闭它本身。

一旦你添加了菜单组件,定义用于菜单事件的事件处理程序并添加取消意外关闭窗口事件的方法,我们就可以测试这个应用程序并开始创建、编辑并保存 XML文件了。

恭喜!恭喜!你已经有了手工编写的基于Swing的XML编辑器。剩下的工作就由你来完成了,你需要验证它,增加它的健壮性,还可以增加一些新的功能。

使用Java Swing创建一个XML编辑器之三(3)

时间:2010-12-16

附:代码段1

class newMenuHandler implements ActionListener {   public void actionPerformed ( ActionEvent ae )   {    textArea.setText( "" );    try    { // 创建一个新的XTree     xTree = new XTree();     xTree.getSelectionModel().setSelectionMode(          TreeSelectionModel.SINGLE_TREE_SELECTION );     xTree.setShowsRootHandles( true );     // 这个工具更高级的版本,允许修改JTree     xTree.setEditable( false );    }    catch( Exception ex )    {     String message = ex.getMessage();     ex.printStackTrace();    }    file://结束try/catch   }   file://结束actionPerformed() } file://结束class newMenuHandler class openMenuHandler implements ActionListener {   JFileChooser jfc;   Container parent;   int choice;   openMenuHandler()   {    super();    jfc = new JFileChooser();    jfc.setSize( 400,300 );    jfc.setFileFilter( new XmlFileFilter() );    parent = openItem.getParent(); }    file://结束openMenuHandler()    class openMenuHandler implements ActionListener    {     JFileChooser jfc;     Container parent;     int choice;     openMenuHandler()     {      super();      jfc = new JFileChooser();      jfc.setSize( 400,300 );      jfc.setFileFilter( new XmlFileFilter() );        parent = openItem.getParent();     }   public void actionPerformed( ActionEvent ae )   {    choice = jfc.showOpenDialog( parent );      if ( choice == JFileChooser.APPROVE_OPTION )    {     String fileName, line;     BufferedReader reader;     fileName = jfc.getSelectedFile().getAbsolutePath();     try     {      reader = new BufferedReader(      new FileReader( fileName ) );      textArea.setText( reader.readLine() + "\n" );      while ( ( line = reader.readLine() ) != null )      {       textArea.append( line + "\n" );      }     reader.close();     xTree.refresh( textArea.getText() );    }    catch ( Exception ex )    {     String message = ex.getMessage();     ex.printStackTrace();    }    jfc.setCurrentDirectory( new File( fileName ) );    }   } } class saveMenuHandler implements ActionListener   {    JFileChooser jfc;    Container parent;    int choice;    saveMenuHandler()    {     super();     jfc = new JFileChooser();     jfc.setSize( 400,300 );     jfc.setFileFilter( new XmlFileFilter() );     parent = sa

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号