java JavaFX:当我按enter键时,在tableview中启用编辑列
我有一个名为“monto”的可编辑列的tableview,在单击鼠标进行编辑时可以正常工作,但我需要在按下“enter”时启用编辑功能
private TableView<Personal> myTable;
private TableColumn<Personal,Double> columnaMonto;
... //Code when user edit with the mouse
columnaMonto.setOnEditCommit(
new EventHandler<TableColumn.CellEditEvent<Personal, Double>>() {
@Override
public void handle(TableColumn.CellEditEvent<Personal, Double> event) {
int pos = event.getTablePosition().getRow();
((Personal)event.getTableView().getItems().get(
event.getTablePosition().getRow())
).setImporte(event.getNewValue());
myTable.requestFocus();
myTable.getSelectionModel().select(pos + 1);
myTable.getFocusModel();
}
}
);
这是我的尝试:
myTable.setOnKeyReleased(evt -> {
if (evt.getCode() == KeyCode.ENTER) {
System.out.println("Enter is OK!!");
TablePosition focusedCellPosition = myTable.getFocusModel().getFocusedCell();
System.out.println(focusedCellPosition.getRow());
myTable.requestFocus();
myTable.edit(focusedCellPosition.getRow(), columnaMonto);
}
});
问题是allways是select to edit(比如双击),只有当用户按enter键时,我才需要它。 另一个问题是,滚动条在同一个地方不工作Example Img
谢谢和抱歉用英语解释有点难
共 (0) 个答案