JTextField事件侦听器

时间:2014-07-02 17:54:58

标签: java swing user-interface netbeans jtextfield

使用Visual Basic确定何时填充TextField。使用TextField.Change()。

使用JavaScript知道填充TextField的时间。与onkeyup。

当用户填写我的JTextField时,如何进行操作?如果在java中,当JButton在按下时我使用“JButtonActionPerformed”。单击Jtable时,我使用“JTableMouseClicked”。

事件我应该使用什么。是否正在编写JTextField?

2 个答案:

答案 0 :(得分:1)

  

“我应该使用什么。写JTextField?”

使用监听文本字段基础文档中的更改的DocumentListener

根据您要执行的操作,如果是实时验证,您可能需要考虑使用DocumentFilter。请参阅示例here


<强>更新

这是一个使用DocumentListener

的简单示例
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class DocumentListenerDemo {

    public static JTextField getTextField() {
        final JTextField field = new JTextField(10);
        field.getDocument().addDocumentListener(new DocumentListener() {
            @Override
            public void removeUpdate(DocumentEvent e) {
                System.out.println(field.getText());    
            }
            @Override
            public void insertUpdate(DocumentEvent e) {
                System.out.println(field.getText());
            }
            @Override
            public void changedUpdate(DocumentEvent e) {}
        });
        return field;
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable(){
            public void run() {
                JOptionPane.showMessageDialog(null, getTextField());
            }
        });
    }
}

答案 1 :(得分:0)

JTextField继承了java.awt.Component,它有一个方法http://docs.oracle.com/javase/8/docs/api/java/awt/Component.html#addKeyListener-java.awt.event.KeyListener-,您可以在其中注册一个监听器并处理正在按下的键。