GEF firePropertyChange()响应注意地方

来源:互联网 发布:上海软件中心 编辑:程序博客网 时间:2024/06/05 11:54

今天我做拐点的实现,用一个list存储所有的拐点位置,当我的list在model设为全局变量的时候,firePropertyChange抛出事件,并且响应事件,但因为我的model是动态model,每次都会new 一个自己实现的model出来,所以原来存得list会被清空,所以无论怎么都只会创建一个拐点。后来我通过去连线存储的属性,把存储的拐点list取出来再处理,但问题出现了,无论我怎么拖动拐点,事件都不响应,不刷新视图,位置存进model里面了,但是,拐点位置还是在原来的位置。我那一个郁闷啊,怎么都想不明白,我不断的debug,不断地查找,终于发现了这句话:

if (oldValue != null && newValue != null && oldValue.equals(newValue)) {    return;}

因为我的新值是从原来保存的list中取出来再处理的,所以造成了,newvalue == oldvalue 了,直接return掉,omg,tmd ,这一个小小的问题花了我一个下午,希望对大家有帮助。

原创粉丝点击