2

我有一个包含一些对象的 JTree

这些对象有一些字段,其中一个用于显示 jtree 中的节点。

我搜索了一种方法,当这个字段的值发生变化时,jtree 中的节点也会发生变化。

现在,如果我这样做,在 valueChanged 方法中:

tree.firePropertyChange(JTree.ROOT_VISIBLE_PROPERTY, !tree.isRootVisible(), tree.isRootVisible());

那工作......但我需要点击节点才能让它工作。

任何想法,当值更改时在 jtree 中进行修改?

4

1 回答 1

0

由于我没有看到整个代码,我有两个猜测:

  1. 我想,您不会在 Swing-GUI-Thread 中更新整个内容,而是在其他地方更新。因此,GUI 具有来自线程的值,但不知道由于更改而更新 GUI。我猜,首先尝试在 AWTEventQUeue 中进行更新。Swing 实用程序。
  2. 我想更新可能不合适,因为DefaultTreeModel#nodeChanged(javax.swing.tree.TreeNode)应该可以工作。更合适。
于 2013-05-18T19:09:52.427 回答