CardLayout에 배열 된 JPanel 집합이 있습니다. 문제는 한 JPanel에서 일을 변경하면 같은 데크에있는 카드 인 다른 JPanel에 변경 사항이 반영되기를 바랍니다. 이 JPanel 객체 각각에 refresh() 메서드가 정의되어 있지만 카드 이동에 사용되는 구문을 사용하여 호출 할 수는 없습니다. 내가 새로 고침() 메서드를 호출하고 싶지만 내가 CardLayout에서 그 방법을 모르는CardLayout에있는 다른 카드의 입력을 기반으로 한 카드의 (JPanel) 내용을 업데이트합니다.
CardLayout cardLayout=(CardLayout)(p.getMenuCard().getLayout());
cardLayout.show(p.getMenuCard(),"Card name");
(여기서 p는 카드의 갑판의 컨테이너 카드입니다). 도와주세요. 우리는 당신의 "카드"각 패널은 refresh()
방법을 정의하는 인터페이스를 구현한다고 가정하면
어떤 것이 변경 되었습니까? 일부 JComponents를 추가 또는 제거 하시겠습니까? – mKorbel
quesiton이 명확하지 않습니다. 표시하는 코드 스 니펫에 대해 getMenuCard가 "카드"패널을 반환하면 해당 레이아웃은 CardLayout이 아닙니다. CradLyout은 카드 패널의 상위 패널에서 사용하는 레이아웃입니다. – jfpoilpret