只是试图找出发生了什么,在线程而言,如果你改变一个DefaultMutableTreeNode的用户对象在非EDT线程?
我不是在谈论DefaultTreeModel的事件,即insertNodeInto和removeNodeFromParent,这我很清楚应该总是在EDT上运行... 我想...
在更改节点的用户对象的情况下,似乎JTree.TreeModelHandler在为这是‘听’此类事件的事......但有有理由期待,听者只会在被通知这种变化的螺纹在事件发生? 并将其传播仅在自同一个线程响应?
很明显,因此,我假定这是一个相当基本的“观察者”的格局。
那么,这是否意味着在JTree的节点最变化实际上必须做出在美国东部时间发生,否则在事情没有发生的风险,当你期待什么呢?
在DefaultMutableTreeNode的API它确实说,“你必须做你自己的同步” ......