java - JTextArea 中的文本更改事件?如何?

标签 java swing events

我一直在尝试为我的 JTextArea 创建一个文本更改事件处理机制。就我的目的而言,只要 JTextArea 的文本发生更改,就必须触发一个事件。我尝试使用 KeyListener 接口(interface),这是我的代码。

txtArea.addKeyListener(new KeyListener() {

    @Override
    public void keyTyped(KeyEvent arg0) {

    }

    @Override
    public void keyReleased(KeyEvent arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void keyPressed(KeyEvent arg0) {
        currentText = text.getText();
        if (currentText == textString)
            JOptionPane.showMessageDialog(null, "Correct");

    }
});

当 textarea 的文本与硬编码文本匹配时,什么都没有发生。怎么能为此做一个事件改变事件。
PropertyChangedListener 可以实现这个目标吗?如果可以,那怎么做?

最佳答案

我会通过 getDocument()(实际上是一个 PlainDocument)获取 JTextArea 的文档并使用 DocumentListener倾听变化。这样您就可以从击键和复制/粘贴/剪切事件中捕捉变化。

关于java - JTextArea 中的文本更改事件?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740465/

相关文章:

java - 如何在 Java 中更新 Swing JProgressBar

Python 代理应用程序

java - SpringBoot WS 中的 WSDL(点)与(问号)表示法

java - 邻接矩阵 : premature ending of search, 上的广度优先算法返回大小为 1 的队列?

java - 关于 JApplet ItemListener

java - 需要打印调用时使用的函数的实际参数名称

c# - 当文本从方法内部更改时,RichTextBox.TextChanged 事件不会触发

java - 检测 JPanel 上的鼠标移动事件

java - 素数和 boolean 逻辑

java - 使用 springboot 和 hibernate 从 mysql 数据库检索日志数据的问题