我正在打一个聊天客户端。因此,登录后,我将花名册检索到我的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不适用于参数
  (新的ChangeListener>(){})


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

提前致谢。

最佳答案

ChangeListener不是ListChangeListener

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

JavaFX collections tutorial详细说明如何使用ListChangeListeners。

09-05 08:48