Событие выбора элемента дерева в javafx2 Я создал treeview в javafx2. Мне нужно написать событие для получения щелчка node name. PLS, дайте мне знать, как это сделать? Ответ 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()));
Ответ 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()));