jtree对于指定节点,怎么开启和关闭呢?下面写两个方法,供大家参考。
package com.sysc.xmleditor.utils; import java.awt.event.MouseEvent; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; /** * jtree帮助类 * @author Administrator * */ public class TreeHelp { /** * 展开指定节点所有后代节点 * @param aTree展开所有节点,后代节点层层展开 * @param aNode */ public static void expandTreeNode(JTree aTree, DefaultMutableTreeNode aNode) { if (aNode.isLeaf()) { return; } aTree.expandPath(new TreePath( ( (DefaultMutableTreeNode) aNode).getPath())); int n = aNode.getChildCount(); for (int i = 0; i <n; i++) { expandTreeNode(aTree, (DefaultMutableTreeNode) aNode.getChildAt(i)); } } /** * 关闭指定节点所有后代节点 * @param aTree,直接关闭指定节点 * @param aNode */ public static void collapseTreeNode(JTree aTree, DefaultMutableTreeNode aNode) { if (aNode.isLeaf()) { return; } TreePath path=new TreePath(aNode.getPath()); aTree.collapsePath(path); } /** * 通过鼠标的位置找到选择的位置 * @param tree * @param e */ public static void selectTreeElem_Mouse(JTree tree,MouseEvent e) { TreePath path = getPathByMouse(tree, e); tree.setSelectionPath(path); } /** * 返回鼠标最近的treePath节点 * @param tree * @param e * @return */ public static TreePath getPathByMouse(JTree tree,MouseEvent e){ TreePath path = tree.getPathForLocation(e.getX(),e.getY());//选择鼠标最近的节点的条目 return path; } }
相关推荐
在Java Swing库中,`JTree`是一个非常重要的组件,用于显示和操作树形数据结构。这个例子展示了如何实现一个可拖动节点的`JTree`,这在用户界面设计中是一个常见且实用的功能,特别是在需要展示层次结构信息时。`...
- `setClosedIcon()`, `setOpenIcon()`, 和 `setLeafIcon()` 可以设置节点的展开、关闭和叶子状态的图标。 5. **交互性**: - `expandRow(int row)` 和 `collapseRow(int row)` 用于展开和折叠指定行。 - `...
根据提供的文件信息,我们可以分析并总结出以下关于“Java实现动态改变树形结构中主节点的名称”的相关知识点: ### 一、理解树形结构 在计算机科学中,树形结构是一种常用的数据组织形式,它将数据组织成类似于树...
本教程将深入探讨如何在Java Swing应用中使用`JTable`和`JTree`。 `JTable`是Java Swing中的一个组件,它允许我们展示二维的数据,通常以行和列的形式,非常适合处理表格数据。`JTable`可以动态地调整大小,用户...
**监听器(Listener)**:`JTree` 支持多种类型的监听器,如 `TreeSelectionListener` 可以监听用户选择的改变,`TreeModelListener` 可以监听模型的变化,`TreeMouseListener` 和 `TreeKeyListener` 分别处理鼠标和...
5. **图标和文本**: `JTree` 允许为每个节点设置不同的图标和展开/折叠状态的图标,以增强视觉效果。 6. **默认行为**: `JTree` 有预定义的键盘快捷键和鼠标操作,比如使用空格键选择节点,使用左右箭头展开或折叠...
当用户在`JTree`上点击右键时,可以通过监听鼠标事件并显示`JPopupMenu`来提供一系列与选中节点相关的操作。例如,用户可以右键点击某个表节点,弹出的菜单中包含“查看数据”、“编辑表结构”、“删除表”等选项。...
`JTree`支持多种事件监听器,如`TreeSelectionListener`(用于监听节点选择变化)、`TreeModelListener`(用于监听模型变化)和`MouseListener`(用于处理鼠标事件)。这些监听器可以帮助我们响应用户与树交互的...
JTree可以配置不同的图标来表示展开、折叠和叶节点,以及不同类型的节点。通过设置`TreeUI`和相关的`Icon`,可以自定义视觉效果。 **8. 文件系统浏览** JTree常用于文件系统浏览器,通过`FileSystemModel`或`...
2. **交互性**:用户可以通过单击、双击、拖放等方式与JTree进行交互,进行展开、折叠、选择和重命名等操作。 3. **模型-视图分离**:JTree使用TreeModel接口来存储数据,实现了模型-视图分离,使得数据和显示可以...
- **MyDefaultTreeCellRenderer.java源代码**:示例代码展示了如何定制JTree节点的渲染器。 #### (十五) JTree控件 **树和节点的基本概念**:介绍了树的基本概念和节点之间的关系。 - **有关树JTree的类和接口**:...
总结来说,JTree2.0是一个强大的Java Swing组件,用于构建和展示目录树结构。通过理解其基本使用、事件监听、外观定制以及动态数据加载,开发者可以创建出功能丰富的用户界面,满足各种项目需求。在实际应用中,结合...
在实现拖放功能时,还需要考虑一些其他的细节,比如设置JTree的可选择性、启用鼠标拖动监听等。另外,你可能需要自定义`DropMode`,以控制拖放行为,比如在何处插入新节点(在当前选中节点之前、之后还是作为子节点...
6. **图标和打开/关闭状态**: `JTree`支持为节点设置不同的图标,比如打开和关闭状态的图标,这可以通过实现`TreeCellRenderer`接口来定制。 7. **遍历树结构**: `TreeNode`接口提供了一组方法来遍历树结构,如`...
在`MultiLineCell`示例中,`MultiLineTreeExample.java`和`MultiLineCellRenderer.java`展示了如何在JTree的节点中显示多行文本。通过自定义渲染器,我们可以扩展默认的单元格渲染,使得每个节点的内容可以在多个行...
为了构建一个表示目录树的JTree,我们需要创建一个DefaultMutableTreeNode对象作为树的根节点,然后添加代表各个目录和文件的子节点。 - 节点可以使用File对象表示,每个File对象对应文件系统中的一个路径。我们...
`JTree`不仅可以显示目录结构,还可以允许用户交互,例如展开、折叠节点,以及选择特定的文件或目录。要使用`JTree`,我们需要创建一个`DefaultMutableTreeNode`对象,代表树的根节点,然后将文件或目录结构添加到这...
JTree还支持监听事件,如节点展开或选择,以实现与用户的交互。 **ToolBar** 是Swing中的组件,用于创建工具栏,常见于各种应用中。`components-ToolBarDemoProject.zip`和`components-ToolBarDemo2Project.zip`将...