以下的三个方法都是与敲击键盘相关的,你可以试一试.TXName为jtextarea的名字
void TXName_keyPressed(KeyEvent e) { } void TXName_keyTyped(KeyEvent e) { } void TXName_keyReleased(KeyEvent e) { }
void TXName_keyPressed(KeyEvent e) { } void TXName_keyTyped(KeyEvent e) { } void TXName_keyReleased(KeyEvent e) { }
比如说是 Paste 的怎么办呢
主要是 文字发生变化时产生什么 Event ?
刚才太急了
是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);
}
}
可我用的是 JTextField
好像没有 textValueChanged 函数
还有别的办法吗?
在你要对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发生变化的作出反应的组件*/);
* <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); }
}