当前位置: 首页 > 知识库问答 >
问题:

如何在JavaFX2中获取当前的TreeItem引用,该引用是通过用户点击扩展的?

阳航
2023-03-14

在一个JavaFX2案例中,我有一个TreeView,它最初在一定深度折叠。我的目标是,当一个节点通过用户单击展开时,将发生修改treeitem属性/值的操作。

问题是我不确定如何引用那个TreeItem。我在每个treeitem expanedProperty上添加了一个侦听器,但在ChangeListner方法中,我只能获取旧/新值,而不能引用change事件所产生的treeitem。

有人能帮忙吗?多谢.

共有1个答案

丁阎宝
2023-03-14

是的。当然。试试看:

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
    }
});
 类似资料:
  • 问题内容: Java是按价值传递的。您如何修改语言以引入引用传递(或某些等效行为)? 以类似的东西为例 哪个(不带)编译为以下字节码 的代码将参考从变量加载到堆栈上。 我正在考虑的一种可能性是让编译器确定一个方法可以通过引用传递,并可能通过来更改该方法以接受一个Holder对象,该对象存储与我们的变量相同的引用。该方法完成后,并可能更改了持有人的引用,则调用方方值的变量将替换为持有人的引用值。 它

  • 如何在MVC 5中获取当前登录用户的id?我尝试了StackOverflow建议,但它们似乎不适用于MVC 5 另外,MVC 5为用户分配资源的最佳实践是什么?(例如,

  • 我正在使用Gradle构建一个jar,其中包含META-INF中的xml文件。此文件的行如下 允许针对不同环境使用不同的SQL数据库。我想告诉gradle从项目属性展开${SQLDialent}。 我试过这个: 但是它因为而失败,在我看来,Jar任务也试图扩展文件中的属性。所以我尝试了 这不会引发上述异常,而是导致所有资源被复制两次—一次使用属性扩展,一次不使用属性扩展。我设法解决了这个问题 这正

  • 本文向大家介绍在Python中通过getattr获取对象引用的方法,包括了在Python中通过getattr获取对象引用的方法的使用技巧和注意事项,需要的朋友参考一下 getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。 (2)用于模块的 getattr : getattr不仅仅适用于内置数据类型,也可作用于模块。 (3)getattr 作为一 个分

  • 我正在做一个项目,该项目将有许多JavaFX应用程序,这些应用程序具有相似但又足够不同的功能,因此我创建了一个抽象基类来扩展Application以处理常见的功能并指示它们需要做什么,还创建了一系列具体的类来扩展这些功能。然而,当我试图跑的时候,我得到 应用程序构造函数java.lang.Reflect.InvocationTargetException位于java.base/jdk.intern