非EDTスレッドでDefaultMutableTreeNodeのユーザーオブジェクトを変更した場合、スレッドに関して何が起こるかを理解しようとしていますか?
DefaultTreeModelイベント、つまりinsertNodeIntoとremoveNodeFromParentについては話していません。これらは、常にEDTで実行する必要があることは明らかです...私は...
ノードのユーザーオブジェクトが変更された場合、JTree.TreeModelHandlerがそのようなイベントを「リッスン」しているように見えますが、リスナーはそのような変更のみが通知されると予想する理由があります。イベントが発生したスレッド?そして、その応答をその自己同一のスレッドでのみ伝播しますか?
したがって、明らかに、これはかなり基本的な「オブザーバー」パターンであると想定しています。
つまり、これは、JTreeのノードでのほとんどの変更が、実際にはEDTで発生する必要があることを意味します。そうしないと、予期したとおりに発生しないというリスクがあります。
DefaultMutableTreeNodeのAPIでは、実際に「独自の同期を行う必要があります」と書かれています...