我一直在尝试为我的 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/