我有一个JTextField.
我希望在其中的文本发生变化时调用一个函数。
我该怎么做?
答案 0 :(得分:19)
Java swing中用于跟踪JTextField文本内容更改的相应侦听器是一个DocumentListener,您必须将其添加到JTextField的文档中:
myTextField.getDocument().addDocumentListener(new DocumentListener() {
// implement the methods
});
答案 1 :(得分:3)
以这种方式使用Key Listener
JTextField tf=new JTextField();
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent ke)
{
if(!(ke.getKeyChar()==27||ke.getKeyChar()==65535))//this section will execute only when user is editing the JTextField
{
System.out.println("User is editing something in TextField");
}
}
});
答案 2 :(得分:0)
你可以使用 Caret Listener
JTextField textField = new JTextField();
textField.addCaretListener(new CaretListener() {
@Override
public void caretUpdate(CaretEvent e) {
System.out.println("text field have changed");
}
});
答案 3 :(得分:-2)
您可以将KeyListener或ActionListener添加到字段并捕获事件。