添加新数据后 JavaFX 8 更新 TableView
JavaFX 8 update TableView after new Data added
我的 TableView 没有更新,我需要监听器吗?
(m 是我的模特)
@FXML
private TableView<Mitarbeiter> mitarbeiter;
ObservableList<Mitarbeiter> data =
FXCollections.observableArrayList(m.getMitarbeiterListe()
);
mitarbeiter.setItems(data);
public ArrayList getMitarbeiterListe(){
return mitarbeiterliste;
}
在一个新的 Stage 中,我将一些 Mitarbeiter 添加到我模型的列表中
m.addMitarbeiterToList(mitarbeiter)
public void addMitarbeiterToList(Mitarbeiter mitarbeiter){
mitarbeiterliste.add(mitarbeiter);
}
但是另一个Stage中的TableView没有更新新数据。
到底是不是ObservableList没有从Model指向ArrayList?
不是将项目添加到 mitarbeiterliste
(这是一个 ArrayList
,并且不可观察),而是将它们添加到 data
,这是 ObservableList
持有table 项。 TableView
观察这个列表并在列表内容改变时自动更新视图。
你的代码片段的上下文不是很清楚,但你会做类似的事情
public ArrayList getMitarbeiterListe(){
return data;
}
或代替
mitarbeiterliste.add(mitarbeiter);
做
data.add(mitarbeiter);
我的 TableView 没有更新,我需要监听器吗? (m 是我的模特)
@FXML
private TableView<Mitarbeiter> mitarbeiter;
ObservableList<Mitarbeiter> data =
FXCollections.observableArrayList(m.getMitarbeiterListe()
);
mitarbeiter.setItems(data);
public ArrayList getMitarbeiterListe(){
return mitarbeiterliste;
}
在一个新的 Stage 中,我将一些 Mitarbeiter 添加到我模型的列表中
m.addMitarbeiterToList(mitarbeiter)
public void addMitarbeiterToList(Mitarbeiter mitarbeiter){
mitarbeiterliste.add(mitarbeiter);
}
但是另一个Stage中的TableView没有更新新数据。 到底是不是ObservableList没有从Model指向ArrayList?
不是将项目添加到 mitarbeiterliste
(这是一个 ArrayList
,并且不可观察),而是将它们添加到 data
,这是 ObservableList
持有table 项。 TableView
观察这个列表并在列表内容改变时自动更新视图。
你的代码片段的上下文不是很清楚,但你会做类似的事情
public ArrayList getMitarbeiterListe(){
return data;
}
或代替
mitarbeiterliste.add(mitarbeiter);
做
data.add(mitarbeiter);