我想通过单击而不是双击来开始在TableView上编辑单元格。
我尝试了以下操作,但不起作用。
tableView.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
TablePosition selectedCellPosition = tableView.getFocusModel().getFocusedCell();
if ( selectedCellPosition != null ) {
tableView.edit(selectedCellPosition.getRow(), selectedCellPosition.getTableColumn());
}
}
});
我如何做到这一点,以便表格单元格在第一次单击而不是双击时开始编辑?
答案 0 :(得分:0)
这对我有用。由于某些原因,Platform.runLater()
是必需的。
tableView.getSelectionModel().selectedItemProperty().addListener((obs, oldSelection, newSelection) -> {
if (newSelection != null) {
int row = textTagTable.getSelectionModel().getSelectedCells().get(0).getRow();
Platform.runLater(() -> tableView.edit(row, columnToEdit));
}
});