如果我在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,这是单元格的值。
发布于 2018-07-18 04:31:39
您可以调用扩展类ObjectExpression的getValue方法:
getCellObservableValue(0).getValue()https://docs.oracle.com/javase/8/javafx/api/javafx/beans/binding/ObjectExpression.html#getValue--
发布于 2018-07-18 04:31:19
您将获得一个Property,更准确地说,是一个ObjectProperty。
这些类用于data binding的概念。简而言之,数据绑定允许JavaFX在值发生更改时跟踪这些值,并相应地自动更新视图。
要获取该值,只需调用get()。
https://stackoverflow.com/questions/51389641
复制相似问题