栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java PropertyChangeListener

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java PropertyChangeListener

代码:

private static PropertyChangeListener listen() {    System.out.println(test.getUsersonline());    return null;}

返回

null
表示“无对象”,这反过来意味着
test.addPropertyChangeListener(listen())
有效
test.addPropertyChangeListener(null)
,不会注册任何内容。

您必须将有效的a实例传递

PropertyChangeListener
addPropertyChangeListener()
方法。

编辑

我建议您阅读有关PropertyChangeListener的Java教程章节:http
//download.oracle.com/javase/tutorial/uiswing/events/propertychangelistener.html

代码的另一个问题是您调用

firePropertyChange()
的构造函数
ClassWithProperty
。但是那时,可能没有注册侦听器,因此它没有任何作用。触发事件
后,* 任何调用都会
addPropertyChangeListener()
发生。
*

这是对您的代码进行了修改,使其可以正常工作(虽然尚未测试过……):

public class ClassWithProperty {    private PropertyChangeSupport changes = new PropertyChangeSupport(this);    private int usersonline = 0;    public ClassWithProperty() {    }    public void setuponlineUsers()     {        while (usersonline < 10) { changes.firePropertyChange("usersOnline", usersOnline, ++usersOnline);        }    }    public int getUsersonline() {        return usersOnline;    }    public void addPropertyChangeListener(PropertyChangeListener l) {        changes.addPropertyChangeListener(l);    }    public void removePropertyChangeListener(PropertyChangeListener l) {        changes.removePropertyChangeListener(l);    }}public class MainListener implements PropertyChangeListener {    private ClassWithProperty test;    public MainListener() {        test = new ClassWithProperty();        test.addPropertyChangeListener(this);        test.setuponlineUsers();    }    public void propertyChange(PropertyChangeEvent evt) {        System.out.println(test.getUsersonline());    }    public static void main(String[] args) {        new MainListener(); // do everything in the constructor    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号