java - 为什么我不适用于 javafx 上的参数?

标签 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 返回:

The method addListener(ListChangeListener) in the type ObservableList is not applicable for the arguments (new ChangeListener>(){})

为什么会发生这种情况?我的监听器应该如何实现?

提前致谢。

最佳答案

一个ChangeListener不是ListChangeListener .

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

JavaFX collections tutorial详细介绍了如何使用ListChangeListeners。

关于java - 为什么我不适用于 javafx 上的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751425/

相关文章:

java - 如何为 JavaFX 8 动画提供自定义刻度/脉冲生成器?

JavaFX Java 在 Controller 之间传递参数字符串

JavaFX 标签未使用 setText() 更新

java - 如何配置 openfire 支持 TLS 1.2

java - Java 中不存在捕获表

java - 使用spring boot在TestNg测试用例中提供BeanFactory Bean

java - 将 Java 代码导入 Swift iOS 应用程序?

java - 将生成的文件输入回程序中

java - 无法使用 Smack 在 OpenFire 上注册新用户。这些节是什么意思?

javascript - 如何/资源配置 Openfire 及其内置的 Bosh 支持以接受 XMPP 聊天客户端?