posts - 97,  comments - 93,  trackbacks - 0
如何在java swing里使用JTree,就像下面这样的树

A tree

手工创建:
首先,你需要创建一个JScrollPane,然后创建一个JTree,再然后创建节点TreeNode
JScrollPane是盛放JTree的容器,JTree是一个结构相当于一个房子的钢筋框架,真正的内容是节点node。学过数据结构里的树的话可能会好理解一点。写代码的时候,三个过程的创建顺序不一定,也可以倒着过来写。
比如,创建一个简单的初始化 树的方法
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JTree;
import javax.swing.tree.*;
public class NewTree {
    public NewTree() {
        JFrame jframe=new JFrame();//创建窗体
        Container c=jframe.getContentPane();//创建容器
       
        JScrollPane scrollPane=new JScrollPane();//创建一个用于树的容器
        DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");//创建树根节点
        DefaultMutableTreeNode file=new DefaultMutableTreeNode("file1");//创建一个文件节点
        root.add(file);//将文件节点添加到根节点下
        JTree tree=new JTree(root);//以根节点为参数创建一个树对象
        scrollPane.setViewportView(tree);//将树添加到scrollPane里面,并显示

       
        c.add(scrollPane);//将scrollPane添加到窗体里
        jframe.pack();
        jframe.setVisible(true);
        jframe.addWindowListener(new WindowAdapter(){//这段代码用于默认关闭
            public void windowClosing(WindowEvent e){
                    System.exit(0);   
            }
        });
    }
    public static void main(String[] args){
        new NewTree();
    }
}
结果是这样的:注意关键的是斜体的代码,其他的都是swing的东西

那么如何在netbeans里,创建和使用树呢?好多人看到的都是下面这样的:

这是为什么呢?我找过代码结果没找到,后来发现这都是假的,你还是可以通过该改变代码来创建和使用你的树:改什么?改TreeModel.
到源代码界面下创建一个初始化树的方法:
public void treeInitialize(){
   JScrollPane scrollPane=new JScrollPane();
   DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");
   DefaultMutableTreeNode file=new DefaultMutableTreeNode("file1");
   root.add(file);
   JTree tree=new JTree(root);
   TreeModel treeModel = new DefaultTreeModel(root);
   tree.setModel(treeModel);
}
注意黑体代码,这样在窗体的构造方法中调用treeInitialize()方法,你的树就被改变了,tree是你用netbeans生成树对象的引用或者名字,一般会是jTree1。
接下来就是对树的操作了,限于篇幅不能再讲了
posted on 2006-12-04 13:11 wqwqwqwqwq 阅读(3852) 评论(2)  编辑  收藏 所属分类: Simple Java

FeedBack:
# re: swing中JTree的使用和JTree在netbeans中的用法(转)
2007-11-18 21:58 | 飞飞
为什么没有提到JTree的事件监听呢?  回复  更多评论
  
# re: swing中JTree的使用和JTree在netbeans中的用法(转)[未登录]
2007-11-18 22:07 | 曲强 Nicky
参考下DefaultMutableTreeNode等类,改天有时间写个简单的例子  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456




常用链接

留言簿(10)

随笔分类(95)

随笔档案(97)

文章档案(10)

相册

J2ME技术网站

java技术相关

mess

搜索

  •  

最新评论

阅读排行榜

校园梦网网络电话,中国最优秀的网络电话