qq_35918413 2019-05-04 11:33 采纳率: 0%
浏览 558

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条回答 默认 最新

  • 毕小宝 博客专家认证 2019-05-05 09:34
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器