/**
* 展开一棵树
*
* @param tree
*/
private void expandTree(JTree tree) {
TreeNode node = (TreeNode) tree.getModel().getRoot();
expandAll(tree, new TreePath(node), true);
}
/**
* 完全展开一棵树或关闭一棵树
*
* @param tree
* JTree
* @param parent
* 父节点
* @param expand
* true 表示展开,false 表示关闭
*/
private void expandAll(JTree tree, TreePath parent, boolean expand) {
TreeNode node = (TreeNode) parent.getLastPathComponent();
if (node.getChildCount() > 0) {
for (Enumeration e = node.children(); e.hasMoreElements();) {
TreeNode n = (TreeNode) e.nextElement();
TreePath path = parent.pathByAddingChild(n);
expandAll(tree, path, expand);
}
}
if (expand) {
tree.expandPath(parent);
} else {
tree.collapsePath(parent);
}
}
分享到:
相关推荐
### Java组件之JTree使用详解 #### 一、引言 `JTree`是Java Swing中的一个重要组件,用于展示层次化的数据结构。它提供了一种直观的方式来表示具有层级关系的数据,例如文件系统的目录结构或者组织架构等。本文将...
/*** 完全展开或关闭一个树, 用于递归执行 *@param tree JTree *| * @param parent 父节点 *@param expand 为true则表示展开树, 否则为关闭整棵树 */ private static void expandAll(JTree tree, TreePath parent...
在Java的Swing库中,`JTree`组件是一个强大的工具,用于展示层次结构的数据,如文件系统目录结构。这个组件允许用户以图形化的方式浏览和操作这些数据,包括展开、折叠节点,以及选择和编辑特定节点。在"Swing展示的...
Java中的JTree组件是Swing库中的一个关键部分,它用于在用户界面中展示树状数据结构。在Java Swing应用程序中,JTree常用于显示文件系统目录、数据库结构或者自定义对象的层次关系。这个“java中JTree的简单应用”...
在Java Swing中,`JTable`和`JTree`是两个重要的组件,它们分别用于展示数据的表格形式和树形结构。下面将详细介绍这两个组件的基本概念、常用方法以及实例。 ### `JTable`组件 `JTable`是Java Swing GUI库中的一...
`JTree`是Java Swing的模型-视图-控制器(MVC)设计模式的一部分,其中树的数据结构由`DefaultTreeModel`类控制,`JTree`对象则是视图部分。 ### 1. 使用JTree 创建`JTree`的基本步骤如下: 1. **构建树模型**: ...
Swing是Java GUI(图形用户界面)库的重要组成部分,它为开发者提供了丰富的组件和功能,用于构建美观且功能强大的桌面应用程序。在这个“一些Swing应用实例Java源码包”中,我们可以深入学习和理解Swing的各种组件...
在Java Swing库中,`JTree`是一个组件,用于显示层次结构的数据,而`JCheckBox`则是一个可以勾选或取消勾选的图形用户界面元素。将`JCheckBox`与`JTree`结合使用,可以在树形结构的节点上提供复选框功能,允许用户...
在这款日记本程序中,JTree可能被用来表示日记的时间线或分类,用户可以通过展开和折叠节点查看不同时间段或主题的日记条目。JTree的使用使得用户能够直观地浏览和管理日记,提高了操作的便利性。 其次,观察者模式...
8. **可展开/折叠节点**: 用户可以通过单击加号(+)或减号(-)来展开或折叠节点,这是通过`JTree`的`setExpandedState()`方法实现的。 9. **拖放操作**: `JTree`支持拖放功能,允许用户通过鼠标操作重新排列节点...
`JTree`是Java Swing组件之一,用于展示树形数据结构。在这个实例中,`JTree`用于显示由`DefaultTreeModel`管理的目录树结构。 2. **DefaultTreeModel类**: `DefaultTreeModel`是树模型的实现,它基于`TreeNode`...
Java实现的资源管理器,通常被称为“文件浏览器”或“文件管理器”,是用于在操作系统中查看、管理和操作文件及目录的应用程序。在这个特定的例子中,"JExplorer.rar" 是一个压缩包,其中包含了使用Java Swing库开发...
在Java Swing库中,用户界面(UI)组件是事件的源,它们能够触发多种类型的事件,这些事件通常与用户的交互、组件的状态变化或应用程序的内部操作相关。以下是对标题和描述中提到的Swing组件及其可能触发的事件的...
在本代码片段中,开发者构建了一个基于Java Swing框架的树形导航栏组件。该组件不仅为用户提供了一个直观的目录结构视图,还允许用户通过点击节点来展开或收起子节点。此功能对于管理复杂的层次数据结构尤其有用,...
标题中的“dialg弹出框and...总的来说,理解和实现“dialg弹出框andTree”涉及Java Swing中的JDialog和JTree类,以及如何使用它们来创建交互式的用户界面。通过学习和实践,开发者可以有效地展示和处理层次化的数据。
4. 事件监听:为JTree添加MouseListener或TreeSelectionListener,以便在用户点击节点时执行相应操作,如展开/折叠节点,或显示对应分类的商品列表。 **三、其他相关技术** 1. **Swing GUI**:JavaSE中的Swing库...
这个自定义的监听器实现了 `TreeExpansionListener` 接口,可以在节点被展开或折叠时执行相应的操作。 4. **其他辅助方法** - `getTreeNode(TreePath path)`:获取指定路径下的树节点。 - `getFileNode...