複数の を (すべて非常に類似したコンテンツを持つ) 選択したノードを同期させたいと思いJTree
ます (同じノードが各ツリーに存在する場合)。
現時点では、各ツリーに a を追加し、他のTreeSelectionListener
ツリーを呼び出すことでこれを行っています (パスが含まれていない場合)。setSelectedPath
getSelectedPaths
ただし、これが無限のサイクルにつながり、各ツリーが異なるノードを繰り返し選択しているのを見てきました(これを再現する方法はわかりませんが、ノードをドラッグするときに見ました)。
ツリー選択リスナーをトリガーせずに選択したパスを設定する方法はないようです。リスナーを削除しようとする道をたどりたくありません。
ツリー間で を共有する可能性を検討していTreeSelectionModel
ますが、 のサイズを考えると、これは大変な作業のように見えますDefaultTreeSelectionModel
。
同じ結果を達成する他の方法はありますか?