粘贴JTextField中的内容时要使用什么事件?

时间:2013-09-22 12:34:46

标签: java swing jtextfield

我有JTextField。我希望在JTextField内粘贴内容时执行一个事件。我需要什么样的事件来解决我的问题?

2 个答案:

答案 0 :(得分:5)

如果您粘贴文字,

KeyListener 不会有效,这就是您应该使用DocumentListener的原因。

检查链接,它解释得非常好,这是开始的东西:

private DocumentListener myListener = new DocumentListener() {

    @Override
    public void changedUpdate(DocumentEvent documentEvent) {
        //...
    }
    ...
    ...
}

答案 1 :(得分:3)

同意Maroun Maroun关于KeyListener

在粘贴时使用DocumentListener with insertUpdate方法,例如

 private class MyDocumentListener implements DocumentListener {
    public void changedUpdate(DocumentEvent e) {

    }

    public void insertUpdate(DocumentEvent e) {
        Document document = e.getDocument();
        try {

            String s = document.getText(0, document.getLength());


        } catch (BadLocationException e1) {
            e1.printStackTrace();
            return;
        }

    }

    public void removeUpdate(DocumentEvent e) {
    }
}

添加侦听器:

textField.getDocument().addDocumentListener(documentListener);