因为我真的不知道溶剂。 假设我有一个TableView,其中包含有关产品的信息:描述,数量和价格。还有一个标签,显示表格中所有产品的价格总和(次数)。现在,我希望收到有关对此组件产生影响的任何更改的通知,例如现有行的更改或添加新行。是否有任何听众或类似的实现它?
答案 0 :(得分:13)
通常通过将ObservableList传递给它来构造TableView。像这样的东西: TableView myTable = new TableView<>(myObservableList);
ObservableList<ClassOfTheObjectsInTheList> myObservableList = FXCollections.FXCollections.observableArrayList(anyNoneObservableCollection);
TableView<ClassOfTheObjectsInTheList> myTable = new TableView<>(myObservableList);
您可以通过执行以下操作将ListChangeListener随意添加到任何ObservableList:
myObservableList.addListener(new ListChangeListener<ClassOfObjectsInTheList>(){
@Override
public void onChanged(javafx.collections.ListChangeListener.Change<? extends ClassOfObjectsInTheList> pChange) {
while(pChange.next()) {
// Do your changes here
}
}
});