treeview - 如何获取当前在 JavaFx 2 中通过用户单击扩展的 TreeItem 引用?

标签 treeview javafx-2

在一个 JavaFx 2 案例中,我有一个 TreeView,它最初在某个深度折叠。我的目标是当用户单击扩展一个节点时,将发生一个操作来修改该树项属性/值。

问题是我不确定如何引用该树项。我在每个 treeitem expanedProperty 上添加了一个监听器,但是在那个 ChangeListner 方法中,我只能获取旧/新值,无法返回到更改事件发起的 treeitem。

有人可以帮忙吗?非常感谢。

最佳答案

是的当然。尝试这个:

treeItem.expandedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
        System.out.println("newValue = " + newValue);
        BooleanProperty bb = (BooleanProperty) observable;
        System.out.println("bb.getBean() = " + bb.getBean());
        TreeItem t = (TreeItem) bb.getBean();
        // Do whatever with t
    }
});

关于treeview - 如何获取当前在 JavaFx 2 中通过用户单击扩展的 TreeItem 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236666/

相关文章:

c# - 展开 TreeViewItem 时调用命令

c# - 将项目添加到底层 ObservableCollection 时,递归 TreeView 不保留结构

c# - 大数据量TreeView优化

python - pygtk treeview 内容更新/刷新

java - Java中如何通过Document接口(interface)访问外部样式表?

c# - TreeView 的 ContainerFromItem 返回 null

JavaFX ChoiceBox 添加具有类型安全性的分隔符

JavaFX : Convert Rectangle to a Polygon

javafx - 标签文字位置

mysql - 如何从 ComboBox 返回对象