Событие выбора элемента дерева в javafx2 - программирование
Подтвердить что ты не робот

Событие выбора элемента дерева в javafx2

Я создал treeview в javafx2. Мне нужно написать событие для получения щелчка node name.

PLS, дайте мне знать, как это сделать?

4b9b3361

Ответ 1

используйте ChangeListener.

Пример кода:

 treeView.getSelectionModel().selectedItemProperty().addListener( new ChangeListener() {

        @Override
        public void changed(ObservableValue observable, Object oldValue,
                Object newValue) {

            TreeItem<String> selectedItem = (TreeItem<String>) newValue;
            System.out.println("Selected Text : " + selectedItem.getValue());
            // do what ever you want 
        }

      });

Ответ 2

слегка обновленная версия

treeView.getSelectionModel().selectedItemProperty()
            .addListener(new ChangeListener<TreeItem<String>>() {

                @Override
                public void changed(
                        ObservableValue<? extends TreeItem<String>> observable,
                        TreeItem<String> old_val, TreeItem<String> new_val) {
                    TreeItem<String> selectedItem = new_val;
                    System.out.println("Selected Text : " + selectedItem.getValue());
                    // do what ever you want
                }

            });

Ответ 3

Немного более обновленная версия, использующая lambdas, которая немного очищает ее:

treeView.getSelectionModel()
        .selectedItemProperty()
        .addListener((observable, oldValue, newValue) -> System.out.println("Selected Text : " + newValue.getValue()));