我有一个包含TableView值的数据库,想要在TableView中编辑一个列(称为颜色)时更新数据库。我面临的问题是,该函数不在setOnEditCommit()中。
以下是代码。
table.getSelectionModel().setCellSelectionEnabled(true);
//fi.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
table.setEditable(true);
color.setEditable(true);
color.setCellFactory(TextFieldTableCell.forTableColumn());
color.setMinWidth(200);
//on cell edit commit(for source)
color.setOnEditCommit((TableColumn.CellEditEvent<Colour, String> event) -> {
TablePosition<Colour, String> pos = event.getTablePosition();
newColor = event.getNewValue();
int row = pos.getRow();
Colour ex = event.getTableView().getItems().get(row);
ex.setColor(newColor);
try {
changeindatabase(newColor, val);
} catch (IOException ex1) {
Logger.getLogger(mainController.class.getName()).log(Level.SEVERE, null, ex1);
}
});