java的JTree的使用方法,

最好菜单的选项也一样,谢谢了菜单中菜单项要一样(实现代码)。还有上面参数管理员和系统管理员可以来回切换(在同一个窗体实现)。... 最好菜单的选项也一样,谢谢了
菜单中菜单项要一样(实现代码)。 还有上面参数管理员和系统管理员可以来回切换(在同一个窗体实现)。
展开
 我来答
一骑当后
推荐于2018-05-10 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40299 获赞数:306424
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部

  JTree组件被用来以树的形式显示数据,一层套一层,看起来清晰明了,使用户很方便地就了解到各个节点之间的层次关系,可以很容易地找到相关的数据。

  例如 Windows 系统的文件管理器,它就是一个典型的树层次结构。


  JTree的构造函数:

  ·JTree() 建立一棵默认的树。

  ·JTree(Hashtable data) 利用Hashtable建立树。

  ·JTree(Object[] data) 利用数组建立树。

  ·JTree(TreeModel model) 利用TreeModel建立树。

  ·JTree(TreeNode root) 建立以root为根的树。

  ·JTree(TreeNode root,Boolean children) 建立以 root 为根的树,并设定是否允许有子节点。

  ·JTree(Vector value) 利用Vector建立树。


  使用一个JTree可以简单地像下面这样表示:


import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
 
public class TreeDemo {
    public static void main(String[] args) {
 
        // 创建没有父节点和子节点、但允许有子节点的树节点,并使用指定的用户对象对它进行初始化。
        // public DefaultMutableTreeNode(Object userObject)
        DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("软件部");
        node1.add(new DefaultMutableTreeNode(new User("小花")));
        node1.add(new DefaultMutableTreeNode(new User("小虎")));
        node1.add(new DefaultMutableTreeNode(new User("小龙")));
 
        DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("销售部");
        node2.add(new DefaultMutableTreeNode(new User("小叶")));
        node2.add(new DefaultMutableTreeNode(new User("小雯")));
        node2.add(new DefaultMutableTreeNode(new User("小夏")));
 
        DefaultMutableTreeNode top = new DefaultMutableTreeNode("职员管理");
 
        top.add(new DefaultMutableTreeNode(new User("总经理")));
        top.add(node1);
        top.add(node2);
        final JTree tree = new JTree(top);
        JFrame f = new JFrame("JTreeDemo");
        f.add(tree);
        f.setSize(300, 300);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 添加选择事件
        tree.addTreeSelectionListener(new TreeSelectionListener() {
 
            @Override
            public void valueChanged(TreeSelectionEvent e) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
                        .getLastSelectedPathComponent();
 
                if (node == null)
                    return;
 
                Object object = node.getUserObject();
                if (node.isLeaf()) {
                    User user = (User) object;
                    System.out.println("你选择了:" + user.toString());
                }
 
            }
        });
    }
}
 
class User {
    private String name;
 
    public User(String n) {
        name = n;
    }
 
    // 重点在toString,节点的显示文本就是toString
    public String toString() {
        return name;
    }
}

 

yzxinye123
推荐于2016-03-04
知道答主
回答量:18
采纳率:0%
帮助的人:19.1万
展开全部
package com.baiduwork;

import java.awt.*;

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.JFrame;

//定义个Jtree继承框架。
public class Jtree extends JFrame {
private DefaultMutableTreeNode root, red, green, blue;
private JTree jtree1;
private JPanel jpanel1;

private JFrame frame;

Jtree() {
super();
initilize();

}
//初始化。
public void initilize() {
frame = new JFrame("Jtree");

root = new DefaultMutableTreeNode("Color");
red = new DefaultMutableTreeNode("red");
blue = new DefaultMutableTreeNode("green");
green = new DefaultMutableTreeNode("green");

root.add(red);
root.add(blue);
root.add(green);

jtree1 = new JTree(root);
jpanel1 = new JPanel();

JSplitPane jsplitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
jtree1, jpanel1);
jsplitpane.setOneTouchExpandable(true);
jsplitpane.setMinimumSize(new Dimension(100, 50));

frame.getContentPane().add(jsplitpane);

frame.setSize(600, 500);
frame.setLocation(50, 50);
frame.setVisible(true);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {
new Jtree();
}

}
例子。
追问
能不能实现这个。我把图上传错了
追答
你就 添加些节点么。。。把节点名 改一下就好了。设置下节点可选。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maxer025
2011-09-15 · 超过14用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:42.5万
展开全部
网上有很多样例。搜一下就有
追问
我找了。很难找。能帮忙做下吗?代码用txt发到我邮箱:yaolei@jla.com.cn
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式