1
我有一個可編輯的JavaFX 8中的TableView。其中一個字段是CheckBoxTableCell。阻止TAB登陸JavaFX中的CheckBoxTableCell 8
我注意到TAB鍵落在網格中的第一個CheckBoxTableCell上,並卡在那裏。我不想要這種行爲。我喜歡用鍵盤導航到單元格,並用SPACE激活。不過,我需要標籤忽略此字段 - 因爲它卡住了。
我試過如下:
booleanColumn.setCellFactory (to -> {
CheckBoxTableCell<DTO, Boolean> cell = CheckBoxTableCell<>();
cell.setFocusTraversable(false);
return cell;
}
然而這在球場上的焦點沒有影響,因爲它是可編輯的,它的土地上控制和被卡住。
如果我更改爲:
cell.setDisable(true);
然後TAB將跳過該領域,但我可以用方向鍵列降落。不過,我不能用鼠標選擇複選框。
我不知道該怎麼做。
感謝。
謝謝@Jose,但是這個解決方案不適合我的需求。隨着屏幕上的許多控件,然後我需要有選項卡導航控件。我們正在使用箭頭鍵導航表格,並聽取擊鍵以開始編輯。當我執行此修復程序時,我失去了從控制到控制的導航。 Shift Tab也停在該行的第一個單元格,它看起來不會移動到前一行。我真的很想阻止CheckBoxTableCell獲得焦點。我已經處理了空格鍵激活以在單元格具有焦點時選擇它。 –
只有在表獲得用於導航單元格的焦點時,仍然可以使用Tab鍵導航控件。如果您不使用選項卡事件,則仍然可以使用箭頭鍵導航單元格。 –
我是你的建議,它不允許焦點遍歷屏幕上的下一個控件。你有什麼建議嗎?當我刪除事件中的消耗時,SHIFT + TAB在最後一行將我帶到先前的控件,但它不會將我帶到下一個控件。我發現行爲有點奇怪。大多數表沒有CheckBoxTableCells,所以我更喜歡用箭頭鍵而不是製表符的一致行爲。我會看到關於手動跳過控制,除非你有更好的方法? –