如何在构建JTree之后更改它的显示? 是的,我确实调用了updateUI()。
我还想用我的新数据替换树的当前数据。但是,我没有看到任何方法会采用我构造的DefaultMutableTreeNode。即使我只是删除JTree并在它包含的ScrollPane上调用updateUI,也不会发生任何事情。或者我用重绘代替。
可能是没有触发正确的事件(JTree内部事件)。例如,可以使用 node.add(...) 或者更好, model.insertNodeInto(...) (假设您正在使用 DefaultTreeModel ). 在这种情况下,首选后一种方法,因为它将触发适当的事件,从而使视图(JTree)正确更新。您的问题可能不是重绘UI,而是实际上通知视图模型已更改。 因此,我建议查看如何动态修改JTree,如果可能的话,我建议使用 默认树模型 作为您的模型来驱动视图。
node.add(...)
model.insertNodeInto(...)
DefaultTreeModel
默认树模型
为了确保你已经通读了 the Sun JTree tutorials ,对吧?