0

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

@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);
}

但是另一个 Stage 中的 TableView 并没有更新新数据。最后, ObservableList 是否没有从 Model 指向 ArrayList ?

4

1 回答 1

2

不要将项目添加到mitarbeiterliste(这是一个ArrayList,并且不可观察),而是将它们添加到data,这是ObservableList保存表的项目。观察TableView此列表并在列表内容更改时自动更新视图。

你的代码片段的上下文不是很清楚,但你会做类似的事情

public ArrayList getMitarbeiterListe(){
    return data;
}

或代替

mitarbeiterliste.add(mitarbeiter); 

data.add(mitarbeiter);
于 2015-07-21T16:05:52.487 回答