JavaFX 取消选择 TreeView 上的项目

JavaFX Unselect item on TreeView

我有一个 TreeView,当我 select 一个项目时,会打开一个包含相应信息的选项卡。 但是当我关闭选项卡并尝试打开它时,它没有出现,因为该项目已经 selected。我需要先select另一个,然后再点击它。

我用这个

fileView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    if (newValue == null)
        return;
    System.out.println("Selected File : " + newValue.getValue().getAbsolutePath());
    if (newValue.getValue().isFile()) {
        ...
    }
});

我看到了 2 个问题的解决方案。

1) 从项目

中删除 selection 标签

2) 替换监听器

但是我没有成功。 我很乐意为您提供解决方案。 请提供代码片段,例如

P.s。请不要降低我的声誉,我对我的问题很感兴趣

您可以在打开标签后清除选择:

fileView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    if (newValue != null) {
        System.out.println("Selected File : " + newValue.getValue().getAbsolutePath());
        if (newValue.getValue().isFile()) {
            // Open a tab here...

            /* Clear selection */
            Platform.runLater(() -> fileView.getSelectionModel().clearSelection());
        }
    }
});