代码之家  ›  专栏  ›  技术社区  ›  Puppy

Java-更新JTree

  •  3
  • Puppy  · 技术社区  · 14 年前

    如何在构建JTree之后更改它的显示?
    是的,我确实调用了updateUI()。

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

    1 回复  |  直到 13 年前
        1
  •  5
  •   Nate W.    12 年前

    可能是没有触发正确的事件(JTree内部事件)。例如,可以使用 node.add(...) 或者更好, model.insertNodeInto(...) (假设您正在使用 DefaultTreeModel ). 在这种情况下,首选后一种方法,因为它将触发适当的事件,从而使视图(JTree)正确更新。您的问题可能不是重绘UI,而是实际上通知视图模型已更改。
    因此,我建议查看如何动态修改JTree,如果可能的话,我建议使用 默认树模型 作为您的模型来驱动视图。

    为了确保你已经通读了 the Sun JTree tutorials ,对吧?