CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  GUI 设计

关于实现像用户修改完word文档没保存就点关闭按钮,word提示“是否保存”,如何实现?

楼主archer_xy(飞了)2005-09-02 16:51:10 在 Java / GUI 设计 提问

请教高手们:  
  1.怎样判断JTable的内容发生了变化  
  2.怎样判断用户按下此应用程序了右上角的关闭按钮 问题点数:100、回复次数:6Top

1 楼chenweionline(键盘上的舞者)回复于 2005-09-02 17:26:31 得分 30

1、为表格添加TableModelListener(触发:单元值变化;表格结构变化;行被插入\删除\更新;单元被更新)和TableColumnModel(触发:列行被插入\删除\更新;列边距发生变化;列选取发生变化)监听器。  
  根据你的需要,在处理事件的方法中这只一个标志位,判断是否窗体关闭时是否应该弹出保存提示框。  
   
  2、为窗体添加一个WindowListener  
  frame.addWindowListener(new   WindowAdapter(){  
      public   void   windowClosing(WindowEvent   ev){  
          if(flag){  
              //   弹框          
          }else{  
              System.exit(0);  
          }  
      }  
  });Top

2 楼archer_xy(飞了)回复于 2005-09-03 02:00:43 得分 0

谢谢!不过还有个问题,怎么在JTable中查找某个关键字,如:搜“学生”,假如table中有“学生”字样,就定位到该行。怎么实现?分不够再加!Top

3 楼yonghar(http://www.xio.name)回复于 2005-09-03 11:53:14 得分 20

2、为窗体添加一个WindowListener  
  frame.addWindowListener(new   WindowAdapter(){  
      public   void   windowClosing(WindowEvent   ev){  
          if(flag){  
              //   弹框          
          }else{  
              System.exit(0);  
          }  
      }  
  });  
  这个不能实现效果,当你选择不保存的时候,系统也将关闭。  
   
  ====================================  
  怎么在JTable中查找某个关键字,如:搜“学生”,假如table中有“学生”字样,就定位到该行。  
  ------------------------------------  
  对TableModel里头的数据进行遍历每行每列  
  匹配关键字,找到后,修改选择状态Top

4 楼congliu(取次花丛都不顾,半缘修道半缘君。)回复于 2005-09-04 08:48:32 得分 50

package   helloworld;  
   
  import   java.awt.*;  
  import   javax.swing.*;  
  import   java.awt.event.*;  
   
  /**  
    *   <p>Title:   </p>  
    *   <p>Description:   </p>  
    *   <p>Copyright:   Copyright   (c)   2005</p>  
    *   <p>Company:   </p>  
    *   @author   not   attributable  
    *   @version   1.0  
    */  
   
  public   class   Dialog2   extends   JDialog   {  
      JPanel   panel1   =   new   JPanel();  
      BorderLayout   borderLayout1   =   new   BorderLayout();  
      AskToSave   ats=new     AskToSave();  
   
      public   Dialog2(Frame   frame,   String   title,   boolean   modal)   {  
          super(frame,   title,   modal);  
          try   {  
              jbInit();  
              pack();  
          }  
          catch(Exception   ex)   {  
              ex.printStackTrace();  
          }  
      }  
   
      public   Dialog2()   {  
          this(null,   "",   false);  
      }  
   
      public   static   void   main(String   args[]){  
          Dialog2   d2=new   Dialog2();  
          d2.show();  
   
   
      }  
      private   void   jbInit()   throws   Exception   {  
          panel1.setLayout(borderLayout1);  
          this.setDefaultCloseOperation(3);  
          this.addWindowListener(new   Dialog2_this_windowAdapter(this));  
          getContentPane().add(panel1);  
      }  
   
      void   this_windowClosing(WindowEvent   e)   {  
          ats.show();  
   
   
      }  
  }  
   
  class   Dialog2_this_windowAdapter   extends   java.awt.event.WindowAdapter   {  
      Dialog2   adaptee;  
   
      Dialog2_this_windowAdapter(Dialog2   adaptee)   {  
          this.adaptee   =   adaptee;  
      }  
      public   void   windowClosing(WindowEvent   e)   {  
          adaptee.this_windowClosing(e);  
      }  
  }  
   
  Top

5 楼congliu(取次花丛都不顾,半缘修道半缘君。)回复于 2005-09-04 08:48:49 得分 0

package   helloworld;  
   
  import   java.awt.*;  
  import   javax.swing.*;  
   
  /**  
    *   <p>Title:   </p>  
    *   <p>Description:   </p>  
    *   <p>Copyright:   Copyright   (c)   2005</p>  
    *   <p>Company:   </p>  
    *   @author   not   attributable  
    *   @version   1.0  
    */  
   
  public   class   AskToSave   extends   JDialog   {  
      JPanel   panel1   =   new   JPanel();  
      BorderLayout   borderLayout1   =   new   BorderLayout();  
      JLabel   jLabel1   =   new   JLabel();  
   
      public   AskToSave(Frame   frame,   String   title,   boolean   modal)   {  
          super(frame,   title,   modal);  
          try   {  
              jbInit();  
              pack();  
          }  
          catch(Exception   ex)   {  
              ex.printStackTrace();  
          }  
      }  
   
      public   AskToSave()   {  
          this(null,   "",   false);  
      }  
      private   void   jbInit()   throws   Exception   {  
          panel1.setLayout(borderLayout1);  
          jLabel1.setText("楼主大信息");  
          getContentPane().add(panel1);  
          panel1.add(jLabel1,   BorderLayout.CENTER);  
          this.setModal(true);  
      }  
  }Top

6 楼congliu(取次花丛都不顾,半缘修道半缘君。)回复于 2005-09-04 08:50:08 得分 0

在关闭Dialog2时,会出现AskToSave的窗口Top

相关问题

  • 每一个word文档都提示用宏,空的也有
  • 单击命令按钮,就用word打开指定的word文档,怎么编?
  • 为何Word中自添加的按钮只在第一个文档里有用,在其他文档里没用?
  • word xp打不开word 2003文档,提示错误:错误签名!点击后就有恢复文档的提示。如何解决呢?
  • 我想在我的视里显示一段WORD文档,给点提示。
  • 用JSP输出Word文档,如何去掉“文件下载”提示?(急)
  • 鼠标点击属性页中的help按钮,怎样调用我的help文档?help文档如何做?我现在有word文档
  • 为什么在保存Word文档时总是提示Word内存不足,不能保存?
  • Datawindow To Word文档
  • OFFICE XP之WORD在编辑文档时,总是提示该文档已被锁定,不可编辑,请问该如何处理。

关键词

  • 学生
  • asktosave
  • dialog2
  • borderlayout
  • 保存
  • windowadapter
  • windowclosing
  • adaptee
  • 窗体
  • jbinit

得分解答快速导航

  • 帖主:archer_xy
  • chenweionline
  • yonghar
  • congliu

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo