swing中JTree的使用和JTree在netbeans中的用法

简介:
今天吃完早饭,拿着筷子和空盘走到洗碗处,放下空碗空盘,将筷子扔到白色的塑料桶里......出来的时候,同学用惊诧的眼神看着我说,你刚才为什么把筷子扔到垃圾桶里?不讲了,干了一件傻事,不知道收盘员是不是呆了。入正题:
 
如何在java swing里使用JTree,就像下面这样的树
手工创建:
首先,你需要创建一个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);
   TreeModel treeModel = new DefaultTreeModel(root);
   tree.setModel(treeModel);
}
注意黑体代码,这样在窗体的构造方法中调用treeInitialize()方法,你的书就被改变了,tree是你用netbeans生成树对象的引用或者名字,一般会是jTree1。
接下来就是对树的操作了,限于篇幅不能再讲了,有兴趣可以去参考JDK帮助文档,和sun公司的网站.
 



本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/134111,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
前端开发 Java 程序员
【JAVA】<GUI编程>AWT & Swing 图形化编程库
【1月更文挑战第19天】【JAVA】<GUI编程>AWT & Swing 图形化编程库
|
存储 Java 人机交互
Java GUI Swing组件
Java GUI Swing组件
185 0
Java GUI Swing组件
|
存储
Eclipse+Java+Swing实现图书管理系统(下)
Eclipse+Java+Swing实现图书管理系统
190 0
Eclipse+Java+Swing实现图书管理系统(上)
Eclipse+Java+Swing实现图书管理系统
240 0
Eclipse+Java+Swing实现图书管理系统(上)
|
存储 Android开发
Eclipse+Java+Swing实现仓库管理系统(下)
Eclipse+Java+Swing实现仓库管理系统
136 0
|
数据库
Eclipse+Java+Swing实现仓库管理系统(上)
Eclipse+Java+Swing实现仓库管理系统
190 0
Eclipse+Java+Swing实现仓库管理系统(上)
|
数据库 数据安全/隐私保护
Eclipse+Java+Swing实现学生成绩管理系统(上)
Eclipse+Java+Swing实现学生成绩管理系统
336 0
Eclipse+Java+Swing实现学生成绩管理系统(上)
|
存储
Eclipse+Java+Swing实现学生成绩管理系统(下)
Eclipse+Java+Swing实现学生成绩管理系统
307 0
|
存储
Eclipse+Java+Swing实现宠物商店管理系统
Eclipse+Java+Swing实现宠物商店管理系统
330 0
Eclipse+Java+Swing实现宠物商店管理系统
|
存储
Eclipse+Java+Swing实现斗地主游戏
Eclipse+Java+Swing实现斗地主游戏
266 0
Eclipse+Java+Swing实现斗地主游戏