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

Get all listeners from javax.swing.text.Document instances

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

jTextField.getDocument().removeDocumentListener(arg0)

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

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

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

例如

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