gpt4 book ai didi

java - 尝试获取单元格数据值 JavaFX TableView 时出错

转载 作者:行者123 更新时间:2023-12-01 09:14:28 26 4
gpt4 key购买 nike

我正在尝试获取当前单元格的值,我正在将数组列表映射到单个列。

这是我的代码:

TableColumn<ObservableList<String>, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(cellData -> {
Integer rowIndex = cellData.getValue();
return new ReadOnlyStringWrapper(rangeArrayList.get(rowIndex));
});

tableView.getColumns().add(nameColumn);

这是我的错误:

enter image description here

我怎样才能修复这个错误?

最佳答案

除非您的项目包含行信息,否则您无法使用 cellValueFactory 执行此操作,因为除了 TableColumn.CellDataFeatures 中包含的值之外,没有有关该行的信息>.

如果您想使用行号来检索数据,您可以使用 cellFactory 来完成此操作,因为索引可用于 TableCell:

public static <T> Callback<TableColumn<T, Void>, TableCell<T, Void>> cellFactory(final List<?> list) {
return c -> new TableCell<T, Void>() {

@Override
public void updateIndex(int i) {
super.updateIndex(i);
setText(isEmpty() ? "" : Objects.toString(list.get(i), ""));
}

};
}
TableColumn<ObservableList<String>, Void> nameColumn = new TableColumn<>("Name");
nameColumn.setCellFactory(cellFactory(rangeArrayList));

关于java - 尝试获取单元格数据值 JavaFX TableView 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40673010/

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