I have created the treeview in javafx2. i need to write the event for getting clicked node name.
pls let me know how to do this?
use ChangeListener .
Sample code :
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 } });
Slightly more updated version, using lambdas which cleans it up a bit:
treeView.getSelectionModel() .selectedItemProperty() .addListener((observable, oldValue, newValue) -> System.out.println("Selected Text : " + newValue.getValue()));
slightly updated version
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
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With