내 메인콘텐츠 레이아웃 카드이며 카드로 카드를 많이 추가했습니다 (예 : panel1
, panel2
). panel2
에서 뭔가 변경되면 UI panel1
을 업데이트하고 싶습니다.CardLayout의 하위 패널 업데이트
스윙에서 CardLayout
의 하위 패널 (패널)을 업데이트하는 방법은 무엇입니까?
내 메인콘텐츠 레이아웃 카드이며 카드로 카드를 많이 추가했습니다 (예 : panel1
, panel2
). panel2
에서 뭔가 변경되면 UI panel1
을 업데이트하고 싶습니다.CardLayout의 하위 패널 업데이트
스윙에서 CardLayout
의 하위 패널 (패널)을 업데이트하는 방법은 무엇입니까?
observer pattern (논의 된 내용은 here)이 이에 대한 열쇠입니다. 특히 두 패널 모두 공통 모델을들을 수있어 이벤트를 실행하여 각 수신 패널을 업데이트 할 수 있습니다. PropertyChangeListener
을 사용하는 예는 here 및 here입니다.
변경하려는 대상에 대한 참조를 유지하고 일종의 콜백 함수를 사용하여 변경 사항을 감지합니다. 콜백 함수에서 저장된 참조를 사용하십시오. 어떻게 구체적으로 이것을 구현하는 것은 당신의 코드에 가장 잘 맞는 것이어야하지만 ... 당신이하려는 것은 간단한 작업입니다.