java jtree 事件,Java更新JTree

我有一个JTree,我正在使用它显示一些(毫无疑问)分层数据.规范的一部分是用户可以更改数据源(atm只是在文件之间).现在,当发生这种情况时,我可以毫无问题地重建数据和树节点.但是,我很难在树上更新更改.我尝试将其从其滚动窗格中删除,并替换为新的JTree,但是我没有看到任何此类消息.我尝试从JTree中删除所有内容,但没有看到任何效果.

构造后,如何使JTree显示更改?

Ninjedit:是的,我确实调用过updateUI().

另一个编辑:

我还想用新数据替换树的当前数据.但是,我没有看到任何采用我构造的DefaultMutableTreeNode的方法.即使我只是删除JTree并在包含ScrollPane的JTree上调用updateUI,也不会发生任何事情.或者,如果我使用重绘.

解决方法:

可能是没有触发适当的事件(JTree内部事件).例如,您可以使用node.add(…)或更好的model.insertNodeInto(…)添加节点(假设您使用的是DefaultTreeModel).在这种情况下,后一种方法是首选方法,因为它将触发适当的事件,这些事件将导致视图(JTree)正确更新.您的问题可能与重新绘制UI无关,而实际上是在通知视图模型已更改.

因此,我建议您研究如何动态修改JTree,如果可能的话,我建议使用DefaultTreeModel作为模型来驱动视图.

标签:jtree,swing,java

来源: https://codeday.me/bug/20191023/1916460.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值