首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将节点从另一个jframe添加到jtree

将节点从另一个jframe添加到jtree
EN

Stack Overflow用户
提问于 2016-03-12 05:18:37
回答 1查看 403关注 0票数 0

如何动态地(从textField )将节点添加到另一个jframe中的jtree?下面是我的小代码:

代码语言:javascript
复制
final First_JFRame frame= new First_JFRame();
DefaultTreeModel model = (DefaultTreeModel) frame.tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
          DefaultMutableTreeNode firstNode = new DefaultMutableTreeNode("firstNode") ;
          root.add(firstNode);
    firstNode.add(new DefaultMutableTreeNode("firstleaf"));
    firstNode.add(new DefaultMutableTreeNode("secondleaf"));
    model.reload(root);

知道jtree声明为公共静态

EN

回答 1

Stack Overflow用户

发布于 2016-03-12 05:58:14

这里有一个关于如何获得所需操作的快速示例。基本上,您只需要将Jtree的实例传递给第二个frame,然后向其中添加节点。

代码语言:javascript
复制
public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                JFrame frame1 = new JFrame();
                frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame1.setLocationRelativeTo(null);


                JTree tree = new JTree();
                DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
                DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
                DefaultMutableTreeNode firstNode = new DefaultMutableTreeNode("firstNode") ;
                root.add(firstNode);
                firstNode.add(new DefaultMutableTreeNode("firstleaf"));
                firstNode.add(new DefaultMutableTreeNode("secondleaf"));
                model.reload();
                frame1.add(tree);
                frame1.pack();
                frame1.setVisible(true);

                JFrame frame2 = new JFrame();
                frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame2.setLocationRelativeTo(frame1);
                JTextField text = new JTextField(15);
                JButton add = new JButton("ADD");
                frame2.setLayout(new FlowLayout());
                frame2.add(text);
                frame2.add(add);
                frame2.pack();
                frame2.setVisible(true);

                add.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        firstNode.add(new DefaultMutableTreeNode(text.getText()));
                        model.reload();
                    }
                });
            }
        });

    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35950102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档