添加新数据后,JavaFX 8更新TableView

时间:2015-07-21 15:43:04

标签: javafx tableview observablelist

我的TableView没有更新,我需要一个监听器吗? (米是我的模特)

@FXML
private TableView<Mitarbeiter> mitarbeiter;

ObservableList<Mitarbeiter> data =
                FXCollections.observableArrayList(m.getMitarbeiterListe()
                );

mitarbeiter.setItems(data);

public ArrayList getMitarbeiterListe(){
    return mitarbeiterliste;
}

在新的舞台上,我将一些Mitarbeiter添加到我的模型中的列表

m.addMitarbeiterToList(mitarbeiter)

public void addMitarbeiterToList(Mitarbeiter mitarbeiter){
    mitarbeiterliste.add(mitarbeiter);
}

但是另一个阶段的TableView没有更新新数据。 最后,ObservableList是否未从Model?

指向ArrayList

1 个答案:

答案 0 :(得分:2)

不是将项目添加到mitarbeiterliste(这是一个ArrayList,而且无法观察),而是将其添加到dataObservableList保存项目桌子。 TableView会观察此列表,并在列表内容更改时自动更新视图。

您的代码段的上下文不是很清楚,但您可以执行类似

的操作
public ArrayList getMitarbeiterListe(){
    return data;
}

或代替

mitarbeiterliste.add(mitarbeiter); 

DO

data.add(mitarbeiter);