JTree
(모두 매우 유사한 내용 포함)에 선택한 노드가 동기화되어 있습니다 (각 노드에 동일한 노드가있는 경우).여러 JTree 객체에서 선택한 노드 동기화하기
현재 각 트리에 TreeSelectionListener
을 추가하고 getSelectedPaths
에 경로가없는 경우 setSelectedPath
을 다른 트리에서 호출하여이 작업을 수행하고 있습니다.
그러나이 결과는 각 트리가 반복적으로 다른 노드를 선택하는 무한 사이클로 이어지는 것을 보았습니다. (이 노드를 드래그 할 때 나는 그것을 재현하는 방법을 모르지만 노드를 드래그 할 때 보았습니다).
트리 선택 수신기를 트리거하지 않고 선택한 경로를 설정하는 방법이없는 것 같아서 수신기를 제거하려는 경로로 이동하지 않을 것입니다.
나는 나무 사이에 TreeSelectionModel
을 공유 할 가능성을 고려하고 있지만, 이것은 DefaultTreeSelectionModel
크기의 많은 작업처럼 보입니다.
동일한 결과를 얻을 수있는 다른 방법이 있습니까?
'SwingUtilities2.invokeLater'에 대한 호출에서 setSelectionPath를 호출하면서이 값을 원래는 할인했을 것입니다. GUI 수신자 스레드에서 항상'TreeSelectionListener'가 호출되므로 불필요합니다. – SimonC