如何更改文本域的监听器?

时间:2011-03-26 16:36:00

标签: java swing jtextfield

我有一个JTextField.我希望在其中的文本发生变化时调用一个函数。

我该怎么做?

4 个答案:

答案 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添加到字段并捕获事件。