Tôi đã tạo treeview trong javafx2. tôi cần phải viết sự kiện để nhận được tên nút được nhấp.Sự kiện chọn mục cây trong javafx2
hãy cho tôi biết cách thực hiện việc này?
Tôi đã tạo treeview trong javafx2. tôi cần phải viết sự kiện để nhận được tên nút được nhấp.Sự kiện chọn mục cây trong javafx2
hãy cho tôi biết cách thực hiện việc này?
sử dụng ChangeListener.
Mẫu mã:
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
}
});
phiên bản cập nhật hơi
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
}
});
Làm thế nào để tạo một cây không được chọn? Ý tôi là tôi có cây trong cây, vì vậy tôi chỉ muốn cây bên trong được chọn – viper
phiên bản Hơi cập nhật hơn, sử dụng lambdas đó làm sạch nó lên một chút:
treeView.getSelectionModel()
.selectedItemProperty()
.addListener((observable, oldValue, newValue) -> System.out.println("Selected Text : " + newValue.getValue()));
Các bài http: // stackoverflow.com/questions/15792090/javafx-treeview-item-action-event/26714930#26714930 cho biết cách xử lý các nhấp chuột. – Alexandre