从javax.swing.text.Document实例获取所有侦听器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从javax.swing.text.Document实例获取所有侦听器相关的知识,希望对你有一定的参考价值。

我有一个注册了DocumentListener的JTextField实例。我想使用此方法删除documentListener:

jTextField.getDocument().removeDocumentListener(arg0)

我遇到的问题是我无法访问文档侦听器,因为Document类不提供getListeners()方法。

如何将所有侦听器注册到javax.swing.text.Document对象中。

答案

如果你知道Document里面有什么,你可以将结果转换为具有getListeners()方法的东西。

EG

Document doc = jTextField.getDocument();
if (doc instanceof AbstractDocument) {
    DocumentListener[] listeners = ((AbstractDocument) doc).getDocumentListeners();
    // find listener in array and remove
}

以上是关于从javax.swing.text.Document实例获取所有侦听器的主要内容,如果未能解决你的问题,请参考以下文章