0

我正在制作一个带有 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 返回:

ObservableList 类型中的方法 addListener(ListChangeListener) 不适用于参数(new ChangeListener>(){})

为什么会这样?我的监听器应该如何实现?

提前致谢。

4

1 回答 1

2

ChangeListener不是ListChangeListener。_

ObservableList.addListener需要一个 ListChangeListener 作为它的参数。

JavaFX 集合教程详细介绍了如何使用 ListChangeListeners。

于 2013-07-19T17:20:07.993 回答