仅处理树会扩展,但在JTree中不会选择树-Java Swing

问题描述 投票:2回答:1

我正在为我的应用进行延迟加载。我希望节点仅将用户单击加载到其图标。关键是我不知道节点是否有孩子。我的临时解决方案是定义一个有孩子的节点,然后根据选择事件加载他们,我不使用树将事件扩展为延迟加载。我有什么方法可以仅实现treeWillExpand事件。您可以在TreeWillExpanListenerTreeExpandEventDemo2中引用。

java swing jtree
1个回答
1
投票
// Have a tree with some unexpanded root items
// When an item is expanded, add some children
tree.addListener(new Tree.ExpandListener() {

    public void nodeExpand(ExpandEvent event) {
        // No children for the first node
        if (!hasChildren(event.getItemId())) {
            tree.setChildrenAllowed(event.getItemId(), false);

        } else {
            // Add a few new child nodes to the expanded node

                tree.addItem(childId);
                tree.setParent(childId, event.getItemId());


        }
    }
});

您可以实现hasChildren以根据正在扩展的树节点找到子项,然后找到子项并添加

© www.soinside.com 2019 - 2024. All rights reserved.