如何在 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 ...
}
我有一个带有 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 ...
}