使用删除键删除JavaFX表行

Pet*_*zov 3 javafx javafx-2 javafx-8

有没有办法使用键盘删除键删除选定的表格行?

这个实现有什么例子吗?

cru*_*sam 9

你当然可以.您只需注册EventHandler并侦听特定的KeyCode.以下示例适用于TreeTableView,但应适用于所有TableView.

treeTableView.setOnKeyPressed( new EventHandler<KeyEvent>()
{
  @Override
  public void handle( final KeyEvent keyEvent )
  {
    final TreeItem<YourObject> selectedItem = treeTableView.getSelectionModel().getSelectedItem();

    if ( selectedItem != null )
    {
      if ( keyEvent.getCode().equals( KeyCode.DELETE ) )
      {
        //Delete or whatever you like:
        presenter.onEntityDeleteAction( selectedItem );
      }

       //... other keyevents
    }
  }
} );
Run Code Online (Sandbox Code Playgroud)