如何动态地(从textField )将节点添加到另一个jframe中的jtree?下面是我的小代码:
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声明为公共静态
发布于 2016-03-12 05:58:14
这里有一个关于如何获得所需操作的快速示例。基本上,您只需要将Jtree的实例传递给第二个frame,然后向其中添加节点。
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();
}
});
}
});
}https://stackoverflow.com/questions/35950102
复制相似问题