单击而不是双击即可开始编辑TableCell

时间:2019-07-04 04:32:32

标签: javafx

我想通过单击而不是双击来开始在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());
        }
    }
});

我如何做到这一点,以便表格单元格在第一次单击而不是双击时开始编辑?

1 个答案:

答案 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));
    }
});