我正在用smack制作一个聊天客户端。登录后,我将名单检索到我的javafx应用程序中。为了倾听我的好友是否可用,我试图使用这样的听众:
rosterList.addListener(new ChangeListener<ObservableList<RosterDTO>>(){
@Override
public void changed(
ObservableValue<? extends ObservableList<RosterDTO>> observable,
ObservableList<RosterDTO> oldValue,
ObservableList<RosterDTO> newValue) {
rosterList = loginManager.getXmppManager().displayBuddyList();
System.out.println("x----" + rosterList.toString());
}
所以,在我输入代码后,eclipse返回:
方法中的addListener(ListChangeListener) 类型ObservableList不适用于参数 (new ChangeListener&gt;(){})
为什么会这样?我的听众应该如何实施?
提前致谢。
答案 0 :(得分:2)
ChangeListener不是ListChangeListener。
ObservableList.addListener需要ListChangeListener作为参数。
JavaFX collections tutorial详细说明了如何使用ListChangeListeners。