【发布时间】:2015-01-06 10:12:21
【问题描述】:
我真的很难理解 ObservableList 对象在 JavaFX 中是如何工作的。我想监视List 中的对象是否已被修改。到目前为止,我只看到我可以监控 List 作为一个实体本身是否已被修改……但不能监控 List 中的对象:
ObservableList<Stuff> myList = FXCollections.<Stuff>observableArrayList();
myList.add(someStuff);
myList.addListener((ListChangeListener.Change<? extends Stuff> change) -> {
while(change.next()){
if(change.wasUpdated()){
System.out.println("Update detected");
}
else if(change.wasPermutated()){
}
else{
for (Stuff remitem : change.getRemoved()) {
//do things
}
for (Stuff additem : change.getAddedSubList()) {
//do things
}
}
}
});
someStuff.setThing("clobber"); // trigger listener
有没有办法做到这一点?我正在寻找一个工作流程,以便对对象的修改触发→在列表上修改→在某个视图上刷新。
谢谢
【问题讨论】: