如何更改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并捕获事件。