2012-06-18 74 views
12

嗨我想設置焦點在列表視圖中的項目。用戶打開文件後,該項目被添加到列表視圖中,但是我遇到的問題是,listview沒有將焦點設置爲已添加的新項目。我必須點擊列表視圖中的項目來設置焦點。有沒有辦法讓列表視圖在JavaFX 2.1中立即突出顯示新添加的項目。JavaFX在列表視圖中選擇項目

+0

我使用JavaFX 2.1 – user16380

回答

38

假設新增的項目有N索引,
選擇它:

listView.getSelectionModel().select(N); 

它聚焦:

listView.getFocusModel().focus(N); 

滾動到它:

listView.scrollTo(N); 

你可以使用這些和公關的組合最好在Platform.runLater()
滾動,然後選擇:

Platform.runLater(new Runnable() { 

    @Override 
    public void run() { 
     listView.scrollTo(N); 
     listView.getSelectionModel().select(N); 
    } 
}); 
+0

非常感謝你。它工作完美。 – user16380

+0

我有同樣的問題,使用Java 8,解決方案是在listView更新後經過一段時間後運行選擇:'FxTimer.runLater(Duration.ofMillis(250),() - > listView.getSelectionModel()。選擇(將selectedItem));' – Harry244

相關問題