나는 게임을 만들려고 노력하고 있습니다. 게임에는 메인 메뉴와 실제 게임 화면과 같은 여러 화면이 있습니다. 이들 각각은 별도의 jpanel 확장입니다. 저는 Game이라는 클래스 인 JFrame에 각각을 추가했습니다. 내 게임 클래스에서 나는JPanels 간 전환
public void addPanel(JPanel p) {
panels.add(p); // An array of all the different panels I need
this.getContentPane().add(p);
}
public void switchToPanel(JPanel p) {
for (JPanel somePanel : panels) {
somePanel.setVisible(false);
}
p.setVisible(true);
repaint();
}
이의 요점은 내가 여러 가지 패널이 나는 등의 메뉴 화면으로 특정 하나를 보여줄 필요가있을 때, 나는 switchToPanel (myPanel)를 호출하는 것입니다 다음과 같은 방법이있다. 기본적으로 모든 패널을 숨기고보아야 할 패널을 숨 깁니다. 문제는 내가 전환 할 때 이러한 패널이 나타나지 않는다는 것입니다. 그 중 유일하게 나타나는 것은 내가 마지막에 추가 한 패널입니다. 목표 C에서는 항상 뷰를 전환하는 데이 기술을 사용하며 전혀 문제가 없었습니다. 이런 종류의 것이 자바에서는 허용되지 않습니까?
편집 : 지금은 전환 한 후 다시 그리기()를 호출하고,하지만 여전히 당신은 동일한 효과를 달성하기 위해 서로 다른 여러 가지 작업을 수행 할 수 있습니다
havent가 잠시 동안 만져 봤지만 프레임을 다시보고 싶으면 프레임을 그리거나 다시 칠할 필요가 있다고 생각합니다. –
또한 cardLayout을 참조하십시오 –