0

我对 JavaFX 中 ListChangeListener.Change 中的术语感到困惑。我有一个可观察的列表并set(index,newValue)在列表中调用。

在由此产生的变化中,我观察到以下变化属性:

wasRemoved() == true
wasReplaced() == false
wasUpdated() == false

值得庆幸的是,getAddedSublist() 包含新值,但我希望 wasReplaced 或 wasUpdated 为真。

这两个领域会发生什么变化?

4

1 回答 1

1

我自己的愚蠢错误。我从 Javadocs 复制了示例并添加了几个 else if 块,例如

if(change.wasAdded()) {
  //doAdd
} else if (change.wasRemoved()) {
  //doRemove
} else if (change.wasReplaced()) {
  //doReplace
}

doReplace() 从未被调用,因为它是一个 else if 而不是 if。感谢@ftkg 的建议让我来到这里。

于 2012-11-26T23:44:01.750 回答