Java 如何定期调用TreeCellRenderer的getTreeCellRenderComponent()方法?

Java 如何定期调用TreeCellRenderer的getTreeCellRenderComponent()方法?,java,jtree,treecellrenderer,Java,Jtree,Treecellrenderer,我正在开发一个Swing应用程序,需要定期刷新树。树中的每个节点表示在独立线程中运行的特定任务。每个节点都包含由JPanel表示的它执行的任务的复选框+状态指示器。为了改变组件的外观,我编写了一个定制的TreeCellRenderer。我正在我的渲染器中实现javax.swing.tree.TreeCellRenderer接口,并覆盖了下面的方法 public Component getTreeCellRendererComponent(JTree tree, Object value, boo

我正在开发一个Swing应用程序,需要定期刷新树。树中的每个节点表示在独立线程中运行的特定任务。每个节点都包含由JPanel表示的它执行的任务的复选框+状态指示器。为了改变组件的外观,我编写了一个定制的TreeCellRenderer。我正在我的渲染器中实现javax.swing.tree.TreeCellRenderer接口,并覆盖了下面的方法

public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
我希望每1秒调用一次此方法,以便刷新每个节点执行的底层任务的状态

有人能告诉我如何每1秒调用一次GetTreeCellRenderComponent吗?应该从单独的线程触发哪个事件?我目前通过在包含JTree的JPanel上调用updateUI方法来实现这一点,但这会阻止我的整个UI,直到调用从gettreeCellrenderComponent返回

[更新]: 我使用的是DefaultTreeSelectionModel,我不想在添加或删除新节点时更新JTree,而是在与每个节点关联的任务完成时更新JTree。当我单击UI中添加的“运行”按钮时,将执行这些任务。按下“运行”按钮后,我想用添加到节点的JPanel中的不同颜色更新每个节点。

为什么不在每次后台线程通知您任务状态已更改时直接调用?