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

时间:2018-03-23 11:01:51

标签: java swing awt jcomponent

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

jTextField.getDocument().removeDocumentListener(arg0)

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

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

1 个答案:

答案 0 :(得分:2)

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

e.g。

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