如何更改jtexfield的监听器?

我有一个JTextField. 我想在更改其中的文本时调用一个函数。

我怎么做?

Java中用于跟踪JTextField文本内容变化的适当监听器是DocumentListener,您必须将其添加到JTextField的文档中:

 myTextField.getDocument().addDocumentListener(new DocumentListener() { // implement the methods }); 

以这种方式使用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"); } } }); 

您可以使用Caret Listener

  JTextField textField = new JTextField(); textField.addCaretListener(new CaretListener() { @Override public void caretUpdate(CaretEvent e) { System.out.println("text field have changed"); } }); 

您可以向字段添加KeyListener或ActionListener并捕获事件。