我的TableView没有更新,我需要一个侦听器吗? (M是我的模型)JavaFX 8更新新的数据添加后的TableView
@FXML
private TableView<Mitarbeiter> mitarbeiter;
ObservableList<Mitarbeiter> data =
FXCollections.observableArrayList(m.getMitarbeiterListe()
);
mitarbeiter.setItems(data);
public ArrayList getMitarbeiterListe(){
return mitarbeiterliste;
}
在一个新的阶段,我在我的模型
m.addMitarbeiterToList(mitarbeiter)
public void addMitarbeiterToList(Mitarbeiter mitarbeiter){
mitarbeiterliste.add(mitarbeiter);
}
但在TableView中其他阶段添加一些Mitarbeiter到列表没有更新的新数据。 最后,ObservableList是否不指向模型中的ArrayList?
我猜我有点困惑,在任何时候都有数据显示在桌面上?如果是这样,我感到有点惊讶,因为没有列定义的表。查看本教程以获取关于表视图以及它们如何与tableColumns进行交互的更多信息:http://code.makery.ch/library/javafx-8-tutorial/part2/ – WillBD
我把它剪掉了,表中有列和表格工作正常。当我更改模型中现有数据的值时,TableView正在更新值,但是当我在模型中向ArrayList添加新数据时,TableView不显示新添加的数据 – Garog
啊,好吧,我想我看到了混淆。根据这里的文档:https://docs.oracle.com/javafx/2/api/javafx/collections/FXCollections.html底层列表的变化不报告给包装可观察列表。相反,您必须对可观察列表本身执行操作,而不是基础数据结构 – WillBD