用JTree类,你能显示分层的信息,一个JTree对象不能包含数据;它能提供数据的视图!像是Swing组件一样,这个类能得到他查询的数据。这个是这个组件的图片。

 

正如上面图片显示的那样,这个组件是垂直显示数据的!树的每一个行恰好包含一个数据,这个叫做节点.

每一棵树有从根节点,开始递减下去的很多节点.默认显示根节点,但是你也能自己决定。一个节点

也能有或者没有孩子node.我们这里只关心有孩子的节点,一般叫做分节点(branch nodes),如果节点下没有孩子节点了,那么就是叶子节点。

分支节点下有很多孩子节点。特别的,用户可以展开或者折合分支节点-可以隐藏或者显示分支节点,点击他们就可以了。默认的,所有分支

节点,除了根节点,都可以折合的。当然了,程序可以响应树的折合和隐藏事件,可以参考如下的文章:

如何写树的展开监听

如何写树的扩张监听

一个特定的节点必定是树目录的一个节点,一个对象压缩称一个节点和所有的父辈,(or by its display row, where each row in the display area displays one node.)

1.一个展开的节点是一个非叶子节点,这个将在展开的时候展示所有孩子节点。

2.一个隐藏的节点将隐藏所有孩子节点

3.要记住,隐藏的节点其实还是在缩进的节点下

以下主题展示:

创建一棵树

显示了一个程序的截图,程序上半部分是显示了一棵树!

尝试这个方法来建立:

1要运行这个tree demo必须要下载jdk6或者后续版本,自己下载了。只有下载了这个才能编译和运行这个程序。下面是例子程序:

例子程序

 2折合一个或者更多的节点,你能点击圆点来折合

3.缩小节点,你也能通过点击圆点来缩小节点

下面的代码来自TreeDemo.java,他创建一个JTree对象,放这个对象在Scroll pane上。

//Where instance variables are declared:
private JTree tree;
...
public TreeDemo() {
    ...
    DefaultMutableTreeNode top =
        new DefaultMutableTreeNode("The Java Series");
    createNodes(top);
    tree = new JTree(top);
    ...
    JScrollPane treeView = new JScrollPane(tree);
    ...
}