title: JavaFX 11 TableView Cell navigation by TAB key pressed without custom editableCell class
body: <p><strong>The problem:</strong></p>
  
  <p>I want to navigate through a TableView from one cell to the next right neighbor cell in JavaFX by using the TAB key. </p>
  
  <p>Notice: The TableView is set to editable. And CellSelection is enabled too.</p>
  
  <pre><code> tableReceipt.getSelectionModel().setCellSelectionEnabled(true);
  </code></pre>
  
  <p>The handling of the KeyPressedEvent seemingly is not my problem, but to request the focus of the single cell on the right of the current cell.</p>
  
  <p>I can focus one cell but when i press the TAB key the focus goes out of the table on other form elements.</p>
  
  <p>The TableView contains some editable TextFieldTableCells and one editable ComboBoxTableCell.</p>
  
  <p>I don't use a custom class for the editable Cells but Code like this:</p>
  
  <pre><code>Callback&lt;TableColumn&lt;Receipt, int&gt;, TableCell&lt;Receipt, int&gt;&gt; tfCallBack = TextFieldTableCell.forTableColumn();
  columnAmount.setCellFactory(tfCallBack);
  </code></pre>
  
  <p>for a TableCell with editable TextField nature.</p>
  
  <p><strong>My question:</strong></p>
  
  <p>How can I implement a solution to solve my problem? A theoretical solution would help too. I allready searched for this topic but only found an example that's using a custom EditableCell class. I think there must be a solution using the callback method like I do.</p>
  
  <p><strong>Solution approach:</strong></p>
  
  <pre><code>tableReceipt.setOnKeyPressed(new EventHandler&lt;KeyEvent&gt;() {
      @Override
      public void handle(KeyEvent t) {
          if (t.getCode() == KeyCode.TAB) {
              tableReceipt.getFocusModel().focusRightCell();
              Robot r = new Robot();
              r.keyPress(KeyCode.ENTER);
           }
       }
  });
  </code></pre>
  
  <p>With this code I can get focus of the right cell next to the current one. And I need the ENTER KeyPress to enable the editable mode of the Cell. But when I press TAB on keyboard the new value is not committed. For example I press '2' the default value is '0' and after pressing TAB the value is again '0'.</p>
  
  <p><strong>Question No.2:</strong></p>
  
  <p>How can I combine the code above with a changeListener/onEditCommitListener, that the new value is stored in the cell after pressing TAB?</p>
  
  <p>Thank you.</p>