JTree, JTable, JList 등의 객체 세트를 표시 합니다만, 다른 순서로 다른 정보를 표시합니다. 구성 요소 중 하나에서 항목을 선택한 경우 다른 두 구성 요소에서 같은 개체를 선택하려고합니다. 즉 강조 표시해야합니다. 당연히 Listener를 사용하여 선택 이벤트를 모니터합니다. 다음은 문제입니다. Component가 선택된 객체를 가져올 때, 그 객체에 대한 선택 메소드를 호출하여 다른 구성 요소에서 객체가 선택되어 있는지 확인해야합니다. 그러면 다른 두 구성 요소의 선택 수신기에 알립니다. 그러나 각 이벤트는 차례로 자체가 아닌 다른 구성 요소에서 선택 이벤트를 호출하므로 세 구성 요소간에 무한 루프가 발생합니다.JTree는 이벤트를 생성하지 않고 선택합니다.
하나의 해결책은 부울 플래그를 사용하고 플래그가 설정된 경우 리스너가 선택 항목을 전파하지 않도록하는 것입니다. 그러나 이것은 성 가시고 우아하지 않습니다. JTree, JTable 및 JList에 선택 만하도록 지시하고 이벤트를 발생시키지 않도록 지시하는 방법이 있습니까 (이벤트를 시작한 다음 부울 플래그로 catch 및 중지하는 것에 반대).
예. 고맙습니다. 이 작동합니다. 트리, 테이블 및 목록에 대해 동시에 작동하는 모델을 만드는 작업이 될 것입니다. 그러나 이것이 불리언 값을 유지하는 것보다 낫습니다. – Raymond