有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案