ListView中的JavaFX选择项

ListView中的JavaFX选择项,java,javafx-2,Java,Javafx 2,您好,我正在尝试设置listview中某个项目的焦点。用户打开文件后,该项将添加到listview,但我遇到的问题是listview没有将焦点设置在添加的新项上。我必须单击listview中的项目以将焦点设置为它。有没有一种方法可以让listview立即在JavaFX2.1中突出显示新添加的项 假设新添加的项目的索引为N, 选择它: listView.getSelectionModel().select(N); 关注it: listView.getFocusModel().focus(N);

您好,我正在尝试设置listview中某个项目的焦点。用户打开文件后,该项将添加到listview,但我遇到的问题是listview没有将焦点设置在添加的新项上。我必须单击listview中的项目以将焦点设置为它。有没有一种方法可以让listview立即在JavaFX2.1中突出显示新添加的项

假设新添加的项目的索引为
N

选择它:

listView.getSelectionModel().select(N);
关注it:

listView.getFocusModel().focus(N);
滚动到它:

listView.scrollTo(N);
您可以在
Platform.runLater()

滚动然后选择:

Platform.runLater(new Runnable() {

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

我在使用java 8时也遇到了同样的问题,解决方案是在listView更新一段时间后运行选择:
FxTimer.runLater(Duration.ofMillis(250),()->listView.getSelectionModel().select(selectedItem))