如果我在 JavaFX 中有一个带有一些 TableColumn 的 TableView,有没有办法获取该列单元格中的数据?
TableColumn concentrationCol = new TableColumn("Initial Concentration");
concentrationCol.setMinWidth(150);
concentrationCol.setCellValueFactory(
new PropertyValueFactory<SpeciesDoubleWrapper, String>("d"));
concentrationCol.setCellFactory(TextFieldTableCell.forTableColumn());
concentrationCol.setOnEditCommit(
new EventHandler<TableColumn.CellEditEvent<SpeciesDoubleWrapper, String>>() {
@Override
public void handle(TableColumn.CellEditEvent<SpeciesDoubleWrapper, String> t) {
((SpeciesDoubleWrapper) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setD(t.getNewValue());
}
}
);
这是我用来创建 TableColumn 的代码。我知道有一个函数 getCellObservableValue(int i)
它返回第 i 个单元格的内容,但是当我使用它时,我得到 ObjectProperty [value: 0.0]
返回而不是0.0
,这是单元格的值。
最佳答案
您可以调用扩展类ObjectExpression
的getValue
方法:
getCellObservableValue(0).getValue()
https://docs.oracle.com/javase/8/javafx/api/javafx/beans/binding/ObjectExpression.html#getValue--
关于java - 如何获取 JavaFX TableColumn 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51389641/