问题是,我找不到已添加到表中的侦听器。 似乎方法getListeners没有正常工作。它返回一个空集合。 我的代码:
table.addValueChangeListener(new MyListener());
System.out.println("ListenerCount="+table.getListeners(ValueChangeListener.class).size());
控制台输出:
ListenerCount=0
有什么问题?我预计会返回1。
答案 0 :(得分:1)
AbstractComponent.getListeners
将事件类型类作为参数。
根据您的使用情况,将Property.ValueChangeEvent
或其中一个实施,Field.ValueChangeEvent
或Label.ValueChangeEvent
传递给它。
答案 1 :(得分:0)
如果您仔细阅读API,您会发现需要提供听众的事件类型:
java.util.Collection<?> getListeners(java.lang.Class<?> eventType)
返回为给定事件类型注册的所有侦听器 或其中一个子类。
在你的情况下:
table.getListeners(ValueChangeEvent.class);