为什么我不适用于javafx的论点?

时间:2013-07-19 16:48:26

标签: java javafx openfire smack

我正在用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;(){})

为什么会这样?我的听众应该如何实施?

提前致谢。

1 个答案:

答案 0 :(得分:2)

ChangeListener不是ListChangeListener

ObservableList.addListener需要ListChangeListener作为参数。

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