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);
DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");
DefaultMutableTreeNode file=new DefaultMutableTreeNode("file1");
root.add(file);
TreeModel treeModel = new DefaultTreeModel(root);
tree.setModel(treeModel);
tree.setModel(treeModel);
}
注意黑体代码,这样在窗体的构造方法中调用treeInitialize()方法,你的书就被改变了,tree是你用netbeans生成树对象的引用或者名字,一般会是jTree1。
接下来就是对树的操作了,限于篇幅不能再讲了,有兴趣可以去参考JDK帮助文档,和sun公司的网站.