JavaFX Отменить выбор элемента в TreeView - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть TreeView, когда я выбираю элемент, открывается вкладка с соответствующей информацией. Но когда я закрываю вкладку и пытаюсь открыть ее, она не появляется, потому что элемент уже выбран. И мне нужно сначала выбрать другой, а затем снова щелкнуть по нему.

Я использую это.

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) убрать метку выбора с элемента

2) заменить слушателя

Но у меня ничего не получилось. Я буду рад вашим решениям. Пожалуйста, предоставьте фрагмент кода, например

Ps, пожалуйста, не понижайте мою репутацию, меня действительно интересует мой вопрос

1 Ответ

0 голосов
/ 10 февраля 2020

Вы можете отменить выбор после открытия вкладки:

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());
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...