gpt4 book ai didi

java - 当用户展开一个节点时展开多个 JTree 节点

转载 作者:行者123 更新时间:2023-12-01 23:09:04 24 4
gpt4 key购买 nike

我在 Swing 面板中显示了一个大型 JTree。我已经实现了一些从 DefaultMutableNode 扩展的节点,它们动态计算它们的子节点,并且一切运行良好。

在某些情况下(具体来说,当展开的节点只有一个子节点时),我希望 JTree 在使用单击展开元素时展开多个节点(只要只有一个子节点,就会递归展开子节点) ,也许达到某个限制。

例如,如果我有以下树:

A
- B
- B2
- B3
- B4a
- B4b
- C
- D

并且用户单击展开 B 节点,我希望 B B2 和 B3 节点立即展开。

最佳答案

JTree

public void addTreeWillExpandListener(TreeWillExpandListener tel)

所以你应该实现该接口(interface)

public interface TreeWillExpandListener extends EventListener {
/**
* Invoked whenever a node in the tree is about to be expanded.
*/
public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException;

/**
* Invoked whenever a node in the tree is about to be collapsed.
*/
public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException;
}

treeWillExpand中检查是否有TreePath事件。如果路径中的最后一个 Node 只有一个子节点,请将其展开。

关于java - 当用户展开一个节点时展开多个 JTree 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com