java - 如何获取 JavaFX TableColumn 的内容?

标签 java javafx

如果我在 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,这是单元格的值。

最佳答案

您可以调用扩展类ObjectExpressiongetValue方法:

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/

相关文章:

java - 异常处理、RestController 建议

Java:用于表达式解析和评估的库,其标识符事先未知

JavaFx "BorderPane is not a valid type."

JavaFx 安全地停止后台任务

java - ReSTLet URI 模式

java - 在 App Engine 上录制声音的最佳方式

javafx - 如何在 Scene Builder 中使窗口全屏/最大化?

mysql - 在查询中重命名值

java - 用泛型和集合实现 compareTo()

java - 在 JavaFx 中将形状或对象从一个 fxml 复制/克隆到另一个 fxml