gpt4 book ai didi

java - 使用 TableView.getItems() 观察 ObservableList?

转载 作者:行者123 更新时间:2023-12-01 14:04:33 25 4
gpt4 key购买 nike

这是 JavaFX。

我有一个名为 tableView 的 TableView,其项目是一个名为 dataList 的非空 ObservableList。 TableView通过调用tableView.setItems(dataList)包含了dataList;然后,我向 tableView.getItems() 添加了一个名为 listChangeListener 的 ListChangeListener。调用是 tableView.getItems().addListener(listChangeListener);

tableView.setItems(dataList);
tableView.getItems().addListener(listChangeListener);

现在,每当 dataList 更改时,我注意到 listChangeListener 不会被调用。然而,tableView的内容变成了dataList的内容。为什么会这样呢?如何仅使用 tableView 内部的变量或 tableView 本身来检测更改?

注释:

我不想调用 dataList.addListener(listChangeListener) 因为我希望能够调用 tableView.setItems(anotherDataList);在某个时刻。

我还尝试使用 itemsProperty().addListener(aDifferentListener);但又出现了另一个问题,即监听器也没有被调用。

最佳答案

我刚刚尝试了以下代码:

tableView.getItems().addListener(new ListChangeListener<String>() {

@Override
public void onChanged(
ListChangeListener.Change<? extends String> arg0) {
System.out.println("Changed!!");

}
});

并且更改监听器被调用...您可以发布您的代码以便我们看一下吗?

关于java - 使用 TableView.getItems() 观察 ObservableList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19019819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com