1、加上undo和redo功能
2、包含隐藏的bak文件

解决方案 »

  1.   

    private boolean textChanged = false;
    ...JTextArea area = new JTextArea();
    area.getDocument().addDocumentListener(new DocumentListener()
    {
    public void insertUpdate(DocumentEvent e)
    {
    textChanged = true;
    }
    public void removeUpdate(DocumentEvent e)
    {
    textChanged = true;
    }
    public void changedUpdate(DocumentEvent e)
    {
    }
    });
      

  2.   

    freejacky(免费的杜松子酒)兄:我不是要redo和undo功能啊,我只是要判断是否藏了。
    cbhyk()兄:试过可行就散分。
      

  3.   

    area.getDocument().addDocumentListener(new DocumentListener()
    监听事件
      

  4.   

    想一下 redo & undo 的现象和原理
    完全可以满足你的需要的
    因为那些把每一步操作都记录下来了啊
    只要有个标志位就行了
      

  5.   

    使用方法 取决于我们所使用的文本框是属于AWT类还是Swing类。
     使用AWT类 
      对于AWT中的TextField类,实现监控的关键是对TextListener的使用。TextListener的声明如下: 
      interface TextListener extends EventListener   
      public void textValueChanged(TextEvent e) {}       textField1.addTextListener(new  
        AWT_OnValueChanged()); 
      最后对textValueChanged()事件进行重载: 
      public void textValueChanged(TextEvent e) 
      { 
       
      } 
    使用Swing类   对于Swing中的JTextField类,是将对文本的监视任务放入了另外一个接口Document中。  
      interface DocumentListener extends EventListener    它在包java.swing.event.DocumentListener中定义,其中包含了三个方法: 
      public void changedUpdate(DocumentEvent e):监听文本属性的变化; 
      public void insertUpdate(DocumentEvent e):监听文本内容的插入事件; 
      public void removeUpdate(DocumentEvent e):监听文本内容的删除事件。 
     
      在两个编辑框中或输入或删除或选中后修改,只要文本框中的内容得到了确切的改变,就会触发相应的事件,从而产生输出(在字符界面上)。 
      public class JFrame1 extends JFrame 
      { 
       public JFrame1() 
       { //生成图形界面 
        …… 
       //对Exit按钮的事件定义 
        btnAction exitAction = new btnAction(); 
        JButton1.addActionListener(exitAction); 
        //定义TextField组件的文本监听 
    textField1.addTextListener(new AWT_OnValue 
    Changed()); 
        //定义JTextField组件的文本监听 
      JTextField1.getDocument().addDocumentListener 
    (new Swing_OnValueChanged ()); 
       } 
     //根据接口TextListener定义新AWT_OnValue 
    Changed 
       class AWT_OnValueChanged implements TextListener 
       { 
        public void textValueChanged(TextEvent e) 
        { //输出变化及结果 
         System.out.println(“Text Changed:”+textField1.getText()); 
        } 
       } 
      //根据接口DocumentListener定义新类Swing_OnValueChanged 
       class Swing_OnValueChanged implements DocumentListener 
       { //输出变化及结果 
        public void changedUpdate(DocumentEvent e)    { 
         System.out.println(“Attribute Changed”+e); 
        } 
        public void insertUpdate(DocumentEvent e) 
        { //输出变化及结果 
      System.out.println(“Text Inserted:”+textField1.getText()); 
        } 
        public void removeUpdate(DocumentEvent e) 
        { //输出变化及结果 
      System.out.println(“Text Removed:”+textField1.getText()); 
        } 
       } 
       //定义新类,实现Exit按钮的时间监听 
       class btnAction implements ActionListener 
       { //接收事件 
        public void actionPerformed(ActionEvent event) 
        { 
         Object object = event.getSource(); 
         if (object == JButton1) 
          JButton1_actionPerformed(event); 
        } 
       } 
       //Exit按钮事件 
    void JButton1_actionPerformed(java.awt.event. 
    ActionEvent event) 
       {//退出程序 
        System.exit(0); 
       } 
      } 
    小 结 
      实际上,除了文本框(TextField和JTextField),只要是文本编辑区,包括TextArea、JTextArea、JTextPane等,都可以利用上述的方法来实现,以实现对文本区域内容的监控。当然,如果只是判断是否改变,这就足够了。