마다 메이크 선택 listA
에, 당신은 누구의 작업은 선택 listB
에 해당하는 모든 항목을 찾을 수 있습니다하는 ListSelectionEvent
이 listA
에 대한 리스너에 발사 될 트리거합니다. 그러면 선택을 강제로 listB
에서 실행하면 listB
청취자가 처리 할 이벤트가 트리거됩니다. 이것은 listA
에 대한 선택을 강제합니다. 단순히 두 명의 청취자를 사용하면 문제가 해결되지 않습니다. - 하나의 리스너를 사용
1 :
나는 두 가지 옵션을 참조하십시오. 이 청취자는 ListSelectionEvent
에서 getSource
메소드를 사용하여 이벤트 소스를 테스트해야합니다. 출처가 listB
인 경우 수신기 목록에서 listA
을 제거하고 listA
을 선택한 다음 다시 읽습니다.
list1.removeListSelectionListener(this);
list1.setSelectedIndex(e.getFirstIndex()); //this would have to be played with to allow for intervals
list1.addListSelectionListener(this);`
2 - 루프를 피하기 위해 두 개의 리스너를 사용하지만 항목을 선택하려고 시도하기 전에 항목이 이미 선택되어 있는지 테스트해야합니다. 이미 선택되어 있다면 다시 선택하지 마십시오.
출처
2010-04-24 16:22:46
akf
초점이 맞지 않습니다 (f.i. 선택은 프로그래밍 방식으로 발생할 수 있습니다 ...) – kleopatra
그의 경우는 아닙니다. 나는 초점에 의존하는 것이 불필요한 오버 헤드없이 이것을 구현하는 좋은 방법이라고 생각한다. 그는 "comp X에서 뭔가를하십시오"=> "update Y"에 대해 이야기하고있었습니다. 그는 프로그래밍 방식으로 이러한 구성 요소를 변경한다고 언급하지 않았습니다. – Timmos
어깨를 움츠림 - 자유롭게 오류를 고집 할 수 있습니다. 결국 근시안적인 코딩의 결과를 겪을 때 고통을 느끼게 될 것입니다 .-) – kleopatra