我对JavaFX中ListChangeListener.Change中的术语感到困惑。我有一个可观察的列表,并在列表中调用set(index,newValue)
。
在得到的更改中,我观察到以下更改属性:
wasRemoved() == true
wasReplaced() == false
wasUpdated() == false
值得庆幸的是,getAddedSublist()包含新值,但我希望wasReplaced或wasUpdated为true。
这两个领域会有什么变化?
答案 0 :(得分:1)
我自己的愚蠢错误。我复制了Javadocs中的示例,并添加了其他几个块,例如
if(change.wasAdded()) {
//doAdd
} else if (change.wasRemoved()) {
//doRemove
} else if (change.wasReplaced()) {
//doReplace
}
doReplace()永远不会被调用,因为它是一个别的if if而不是if。感谢@ftkg给我的建议。