以下的三个方法都是与敲击键盘相关的,你可以试一试.TXName为jtextarea的名字
void TXName_keyPressed(KeyEvent e) {  }  void TXName_keyTyped(KeyEvent e) {  }  void TXName_keyReleased(KeyEvent e) {  }

解决方案 »

  1.   

    如果不是键盘输入
    比如说是 Paste 的怎么办呢
    主要是 文字发生变化时产生什么 Event ?
      

  2.   

    呵呵
    刚才太急了
    是textValueChanged(TextEvent e)写了一个完整一点的
    马马虎虎
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;public class Class1 extends Applet{        public void init(){
                    TextField tf = new TextField();
                    tf.setText("333");
                    tf.addTextListener(new TextListener(){
                            public void textValueChanged(TextEvent e){
                                    System.out.println("A char");
                            }
                    });
                    add(tf);
            }
    }
      

  3.   

    非常感谢 XKP(低等下人) 仁兄
    可我用的是 JTextField 
    好像没有 textValueChanged 函数
    还有别的办法吗?
      

  4.   

    textfield和textarea是gui,他们含有document这个模型,可以通过判断他们的document有没有改变达到目的,
    在你要对textfield发生变化的作出反应的组件(开始添加imlements DocumentListener)添加以下代码:public void insertUpdate(DocumentEvent e)
    {
    ...
    //对textfield中插入内容做出的反应
    }public void removeUpdate(DocumentEvent e)
    {
    ...
    //对textfield中删除内容做出的反应
    }publci void changedUpdate(DocumentEvent e)
    {
    //可置空但需写上
    }对textfield实例textfieldinstance做以下处理
    textfieldinstance.getDocument().addDocumentListener(listener/*你要对textfield发生变化的作出反应的组件*/);
      

  5.   

    /**
     * <p>Title:        Test</p>
     * <p>Description:  Test</p>
     * <p>Copyright:    Copyright (c) 2002.6.26</p>
     * <p>Company:      None</p>
     * @author:         XKP
     * @version:        1.0
     */import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;public class Class1 extends JApplet{        public void init(){
                    JTextField tf = new JTextField();
                    tf.setText("333");
                    tf.getDocument().addDocumentListener(new DocumentListener(){
                        public void changedUpdate(DocumentEvent e){
                        //省略,在StyledDocument中才有用
                        }                    public void insertUpdate(DocumentEvent e){
    //插入更新                      
    System.out.println("eeeeeeeeee");
                        }
                        public void removeUpdate(DocumentEvent e){
                //删除更新          
                System.out.println("eeeeeeeeewwwwwwwwwwwwww");
                        }
                    });
                    this.getContentPane().add(tf,BorderLayout.NORTH);
                    Container panel = getContentPane();
                    panel.add(new JButton("eee"),BorderLayout.SOUTH);        }
    }
      

  6.   

    非常感谢 cshchina(神仙) 和 XKP(低等下人) 的帮助