如何在 JavaFX FXML 中完成编辑后获取可编辑的 Tableview 单元格值

How to get Editable Tableview Cell value after edit complete in JavaFX FXML

我有一个带有 editable 列 quantityColumn 的 TableView selectedProductsTable。 我想在用户编辑列后​​获取价值。方法调用没有问题,但我不知道如何获取值。

@FXML
private TableView selectedProductsTable;
@FXML
private TableColumn quantityColumn;
.......

@Override
public void initialize(URL url, ResourceBundle rb) {
   selectedProductDataList = FXCollections.observableArrayList();
   quantityColumn.setCellFactory(TextFieldTableCell.forTableColumn());
}

@FXML
public void onEditCommitSelectedProductTable( ){

    // this method fires when user press enter after finish editing "Quantity" column value.

    // how to get Edited value


}

我正在向 table in 方法添加值,该方法在单击按钮时被调用。 image of GUI

onEditCommit handler takes a CellEditEvent对象作为其参数,其中包含有关事件的信息,包括新值。所以你可以做

@FXML
public void onEditCommitSelectedProductTable(CellEditEvent<?,?> event){
    Object newValue = event.getNewValue();
    // other data that might be helpful:
    TablePosition<?,?> position = event.getTablePosition();
    int row = position.getRow();
    // etc ...
}