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

如何在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任务也试图扩展文件中的属性。所以我尝试了 这不会引发上述异常,而是导致所有资源被复制两次—一次使用属性扩展,一次不使用属性扩展。我设法解决了这个问题 这正

  • 问题内容: 我想知道如何在JavaScript中将当前用户的名称作为HTML文档的一部分。 在Java中,可以键入以实现此目的。JavaScript的替代方法是什么? 问题答案: JavaScript在当前HTML文档的上下文中运行,因此,除非它在当前页面中,否则您将无法确定有关当前用户的任何信息,或者您对服务器端脚本进行AJAX调用以获取更多信息。 JavaScript将无法确定您的Window

  • 问题内容: 我正在使用Iterator来遍历一个集合,我想获取当前元素的索引。 我怎样才能做到这一点? 问题答案: 使用您自己的变量并在循环中将其递增。