java - 从 JComboBox 选择项目时显示 Jtree?

标签 java swing jtree

我需要在 JComboBox 的 Action 监听器上构造树

public class ExpressionTree extends JFrame implements ActionListener {

    private JComboBox group;    
    private JLabel groupLabel;
    Container content;
    JTree tree;
    public static void main(String[] args) {
        new ExpressionTree();
    }


    public ExpressionTree() {

        super("Creating a Simple JTree");
        WindowUtilities.setNativeLookAndFeel();
        addWindowListener(new ExitListener());
        content = getContentPane();

        group = new JComboBox();
        groupLabel = new JLabel("GROUP");

        ExpressionBuilder expressionBuilder = new ExpressionBuilder(); 
        Set<Integer> set = expressionBuilder.getGroup().keySet();
        Iterator<Integer> iterator = set.iterator();
        group.addItem("select");
        while(iterator.hasNext()){
            group.addItem(expressionBuilder.getGroup().get(iterator.next()));       
        }


        content.add(groupLabel);
        content.add(group);
        group.addActionListener(this);
        content.setLayout(new FlowLayout());

        tree = new JTree();
        content.add(new JScrollPane(tree), BorderLayout.CENTER);
        setSize(300, 475);
        setVisible(true);

    }
    public String groupString = null;
    public int groupId;

    public void actionPerformed(ActionEvent e){

        groupString = group.getSelectedItem().toString();
        ExpressionBuilder builder=new ExpressionBuilder();
        builder.getGroupId(groupString);
        _____//what to write here to see the tree
    }
}
<小时/>
public class NodeTree  extends DefaultMutableTreeNode{

    private JTree tree;
    public NodeTree(){
            ExpressionTree expressionTree= new ExpressionTree();
            String groupstring = expressionTree.groupString;
            int groupId = expressionTree.groupId;
            DefaultMutableTreeNode top = new DefaultMutableTreeNode(groupstring);
            tree = new JTree(top);
            tree.setEditable(true);
            JScrollPane treeView = new JScrollPane(tree);
            createNode(top,groupId);

    }

    public void createNode(DefaultMutableTreeNode top,int group){
        DefaultMutableTreeNode expression[] = null;
        ExpressionBuilder builder=new ExpressionBuilder();
        Object object = (Object)builder.getExpression(group,0);
        top.add(expression[1]);
        expression[1] = new DefaultMutableTreeNode(object);     
        expression[1].add(new     DefaultMutableTreeNode((Object)builder.getExpression(group,1)));

    }
}

我正在使用上面的文件来创建一棵树。

最佳答案

tree.setModel(new DefaultTreeModel(theTreeRootNode));

关于java - 从 JComboBox 选择项目时显示 Jtree?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5028546/

相关文章:

java - 如何获取类层次结构中较低层的类的对象

java - 单复选框节点树中的两种类型的节点

参数中的 Java 访问变量

java - juel表达式怎么写

java - 出现空白 JFrame 和无 JPanel 但已添加

java - 在 invokeLater() 或 invokeAndWait 的情况下是否给出了发生前关系?

java - JTree,始终显示 "edit mode"中的所有节点

java - 如何获取 JTree 文件树中的节点以知道它是哪个文件?

Java 加载/进度条

java - 如何在 Spring MVC 中创建自定义响应处理程序?