2017-04-25 46 views
0

我已經含有因爲總寬度的30列,一tableview中超過的tableview的寬度,所以tableview中首先示出的前7列,所以我需要移動到右鍵按右鍵,在前7列中,當按下右箭頭鍵時,焦點會按預期移動到下一列,當它到達第8列時,第8列將成爲第一列在桌面視圖上顯示,迄今爲止非常好,但問題是,當我再次按右箭頭鍵試圖移動到下一列(第9,第10 ...),而不是焦點移動到下一列時,所有列將向左移動一列,這使我很難看到列的內容。JavaFX的泰伯維向右滾動通過按壓右箭頭鍵

所以我想問一下,如果有是的tableview的移動只有在按下右箭頭鍵在鍵盤上,而不是轉移留在表視圖中的所有列的焦點任何設置?

在此先感謝!

回答

0

沒有針對此行爲,FER,因爲我知道,沒有設置。

調用TableView::scrollToColumnTableView::scrollToColumnIndex似乎可以有同樣的行爲。我們應該增加EventHandlerKeyEvent.KEY_PRESSED右鍵和左鍵點擊來改變這個動作。

+0

你好@ monolith52,您的答覆,根據你在回答中提到什麼感謝:「我們應該通過正確的發射和左鍵來改變這種運動對KeyEvent.KEY_PRESSED添加事件處理程序」,可這個動作可以通過附加解決這個EventHandle?你能否詳細解釋一下? –

+0

1.處理KeyCode.RIGHT和KeyCode.LEFT。 2.選擇並聚焦相鄰的單元格。 3.計算並設置TableView的ScrollBar的位置。當我回答你時,我寫了[test handler](https://gist.github.com/monolith52/9bb81966461ebcaf2e4044e610c8f821)。如果你願意,試試這個。 – monolith52

+0

你好@ monolith52,非常感謝你:),這是偉大的,幾乎沒有,但有一個問題,例如,tableview中可同時顯示7列,當我按下右鍵,第8欄,我希望第8列成爲表視圖中的第一列位置,現在情況是第8列位於tableview的最後位置。你可以做一些修改嗎?再次感謝! –

相關問題