举个例子说  你在记事本里输入一些文字 然后并没有修改 就选择离开 就是点右上角的小岔  然后它会提醒你保存与否  或者打开一个记事本 修改了之后离开 同样的提醒  怎么实现这个功能

解决方案 »

  1.   

    设置一个flag,当close事件的时候,检查flag。
      

  2.   


    记事本.hasUnsavechanged=false;记事本.close(){// 关闭或者其它可能丢失保存结果的操作
        if(hasUnsavechanged){
            save();
        }
        hasUnsaveChanged=false;
    }记事本.setChanged(Boolean b){//所有造成记事本变化的操作均调用此方法
    ...
    }
      

  3.   

    标志位的判断,没那么复杂。不用考虑A->B->A是否提醒。
      

  4.   

    恩, 文件有个 修改标志,如果文件被修改了,标志位编程修改标识,这样在关闭的时候直接判断标志位是不是为修改状态,那么就可以提醒了比如 class TextFile{
       String fileName = null;
       ……
       boolean isModified  = false;
    }event:close{
      if(isModified  ){
      提示保存
      }else
        file.close();
    }上面的只是伪代码  具体思路就是那样的
      

  5.   

    楼上的前辈们都说用标记。
    支持
    我知道VB.NET里富文本框有个属性就是如果文本被改动那个属性就变为true,否则就是FALSE。我想问问前辈们,JAVA里的那个多行文本框有没有这种类似的属性啊
      

  6.   

    定义一个boolea变量一开始默认false.每次改变的时候变成true,保存变成false.这样true就代表没有保存离开的时候如果是true就提示保存
      

  7.   

    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
                    if(jtf.getText().length()!=0)
    tgd.show();
    }
    });
    jtf指的文本区域。关闭窗口时先判断文本区域是否为0;如果不为0;就tgd是一个选择窗口,保存和不保存两项。以前写的一个记事本程序中的,希望对你有帮助