JAVA编写GUI界面时如何用一个新的JTree对象将之前的JTree对象覆盖掉?

tree是一个成员变量,我先写了个方法生成了一个空的树,然后想在更新树的方法里给tree重新赋值来覆盖掉原先的空树,可是运行时覆盖不掉,那个树还是显示为空。就想问一下如何才能覆盖之前的树以达到更新树的目的?

//生成树
public void layoutTreePanel() {
DefaultMutableTreeNode initTree = new DefaultMutableTreeNode(null);
tree = new JTree(TreePath);
setTree(path,TreePath);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(tree);
treePanel.add(scrollPane,BorderLayout.CENTER);

}

//更新树
public void showTree(String str) {
    String path = str;
    DefaultMutableTreeNode TreePath = new DefaultMutableTreeNode(path);
    tree = new JTree(TreePath);
    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setViewportView(tree);
    treePanel.add(scrollPane,BorderLayout.CENTER);

}

1个回答

覆盖原来的组件后需要重绘面板对象的吧。
试试加上这句:getParent().validate();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐