`

javax.swing 类 JTree

阅读更多
java.lang.Object
  java.awt.Component
      java.awt.Container
          javax.swing.JComponent
              javax.swing.JTree
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
public class JTreeextends JComponentimplements Scrollable, Accessible将分层数据集显示为轮廓的控件。有关面向任务的文档和使用树的示例,请参阅《The Java Tutorial》中的 How to Use Trees 一节。

树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识。展开 节点是一个非叶节点(由返回 false 的 TreeModel.isLeaf(node) 标识),当展开 其所有祖先时,该节点将显示其子节点。折叠 节点是隐藏它们的节点。隐藏 节点是位于折叠祖先下面的节点。所有可查看 节点的父节点都是可以展开的,但是可以显示它们,也可以不显示它们。显示 节点是可查看的并且位于可以看到它的显示区域。

以下 JTree 方法使用 "visible" 来表示 "displayed":

isRootVisible()
setRootVisible()
scrollPathToVisible()
scrollRowToVisible()
getVisibleRowCount()
setVisibleRowCount()
下一组 JTree 方法使用 "visible" 表示 "viewable"(在展开的父节点下面):

isVisible()
makeVisible()
如果您有兴趣了解选择何时更改,请实现 TreeSelectionListener 接口,并使用方法 addTreeSelectionListener 添加实例。当选择更改时,将调用 valueChanged,即如果用户在同一节点上单击两次,则仅调用 valueChanged 一次。

如果有兴趣检测双击事件或用户何时单击节点(不管是否选中它),建议您执行以下操作:

final JTree tree = ...;

MouseListener ml = new MouseAdapter() {
     public void mousePressed(MouseEvent e) {
         int selRow = tree.getRowForLocation(e.getX(), e.getY());
         TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
         if(selRow != -1) {
             if(e.getClickCount() == 1) {
                 mySingleClick(selRow, selPath);
             }
             else if(e.getClickCount() == 2) {
                 myDoubleClick(selRow, selPath);
             }
         }
     }
};
tree.addMouseListener(ml);
注:上述示例同时获取路径和行,但是您只需要获取感兴趣的内容。
分享到:
评论

相关推荐

    [Java参考文档].JDK_API 1.6

    javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 ...

    精通java-swing开发.doc

    - `javax.swing.tree`:与`JTree`组件相关的类,用于展示和操作树形数据结构。 - `javax.swing.undo`:提供了撤销/重做功能的支持,常用于文本编辑组件。 Swing的版面结构是构建GUI布局的关键。它允许开发者通过...

    JTree(节点带有checkbox)代码实例

    首先,我们需要导入必要的Java Swing库,包括`javax.swing.JTree`、`javax.swing.tree.DefaultTreeModel`、`javax.swing.tree.DefaultMutableTreeNode`等。`DefaultMutableTreeNode`用于构建树结构,`...

    JAVA_API1.6文档(中文)

    javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 ...

    IconNode.zip_jtree_zip

    3. **图标处理**:`IconNode`可能使用了`javax.swing.ImageIcon`类来加载和显示图标。在Java中,图标可以通过URL、文件路径或者资源流等方式加载,然后通过设置节点的属性来显示。 4. **数据绑定**:在自定义节点类...

    JTree_Example.rar_jtree

    `DefaultMutableTreeNode`是`javax.swing.tree`包下的一个类,它实现了`MutableTreeNode`接口,允许节点的动态修改。接下来,你可以使用`DefaultTreeModel`来管理这些节点,它是`TreeModel`接口的一个实现,负责维护...

    JTree设置不同图标

    import javax.swing.JTree; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class TreeTest { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable()...

    swing 学习 有时间学学

    8. `javax.swing.JComponent` - Swing组件的基础类,提供了事件处理和布局管理等功能。 ### Swing包和组件支持 Swing库由多个包组成,每个包都专注于特定的功能: 1. `javax.swing` - 包含核心的Swing组件,如...

    Java目录树控件

    - **JTree**: Swing提供的树组件类,用于创建和管理树状结构的数据视图。 #### 三、关键代码解析 ##### 1. 导入必要的包 ```java import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import ...

    轻松学Java之图形界面编程ppt课件.pptx

    * javax.swing.tree:提供了JTree组件的支持类 五、容器类 容器类是Swing中提供用来创建表示图形用户界面的类,包括窗口(JFrame)、面板(JPanel)和对话框(JDialog)。这些类的对象将被当作容器使用,所有的...

    JAVA JTREE JTABLE实例代码

    import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; public class JTreeExample { public static void main(String[] args) { ...

    jtree树应用

    import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; public class JTreeExample { public static void main(String[] args) { JFrame frame...

    Java中Swing.pdf

    9. `javax.swing.tree`:提供了`JTree`组件,用于显示层次结构的数据。 10. `javax.swing.undo`:提供了撤销/重做功能的实现,使得用户操作可以被追踪和撤销。 值得注意的是,Swing组件与AWT组件在命名上有所区分...

    Swing读书笔记

    - 这是最基础也是最常用的包,包含了构建Swing GUI所需的大部分组件类,如按钮、标签、文本框等。 2. **`javax.swing.border`**: - 此包包含了一系列与Swing组件边框样式相关的类,可以用来自定义组件的外观边界...

    计算机软件及应用jaaPPT课件.pptx

    - `javax.swing.tree`: 提供树状组件`JTree`。 - `javax.swing.undo`: 实现文字组件的撤销/重做功能。 9.1.3 常用组件的继承关系 Swing组件的继承层次结构始于`java.lang.Object`,然后是`java.awt.Component`,...

    个人笔记javax相关基础知识.7z

    4. javax.swing.tree:包含了与JTree组件相关的类和接口,如DefaultMutableTreeNode、TreeModel等,用于显示和操作树形数据结构。 5. javax.swing.table:提供了与JTable组件相关的类和接口,如DefaultTableModel、...

    java api最新7.0

    javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 ...

    计算机软件及应用jaaPPT学习教案.pptx

    其他包如`javax.swing.border`处理组件边框,`javax.swing.filechooser`涉及文件选择对话框,`javax.swing.table`专注于表格组件`JTable`,`javax.swing.tree`则涉及树状组件`JTree`。此外,`javax.swing.event`包...

    JavaAPI1.6中文chm文档 part1

    javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 ...

    [Java参考文档]

    javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 ...

Global site tag (gtag.js) - Google Analytics