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();

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能