지금 나는 작은 테트리스 복제를 시도하고있다. 따라서 ONE jFrame을 갖고 싶습니다. jFrame에는 여러 개의 jPanels (기본 메뉴, 게임 자체, 옵션 등 등)가 있어야합니다.jFrame에서 여러 개의 jPanels을 바꿔서 jPanels를 바꾼다.
저는 조금만 검색했고 많은 사람들이 CardLayout을 사용해야한다고 말합니다. NetBeans GUI 작성기로 이동하여 jFrame을 CradLayout으로 전환하고 2 개의 패널을 추가했습니다. 첫 번째 패널에는 버튼 만 있고 두 번째 패널에는 내 "게임"(내 Tetrismatrix 그래픽 디스플레이, 다음 블록의 그래픽 디스플레이 및 종료 버튼)이 있습니다. 더 나은 이해를위한
사진 :
"메인 메뉴"만 "게임을 시작합니다"라는 버튼입니다은 (미안 새로운 때문에 2 개 이상의 링크를 게시 할수 없어).
The structure of the "Card Layout in the NetBeans GUI Builder"
패널 사이의 스위치를 달성하기 했는데요이 (약간의 연구 후 발견)를 사용하여 :
@Action
public void cardSwitcher() {
CardLayout cl = (CardLayout) (gamePanel.getLayout());
cl.next(gamePanel);
}
"시작 게임"버튼을 누르면 다음 통화 메소드 cardSwitcher().
지금 jFrame을 실행하면 잘 시작되고 시작 게임 버튼과 모든 것을 볼 수 있습니다. 그러나 버튼을 누르면 ClassCastException이 발생합니다.
그래서 지금은 내 질문은 "javax.swing.GroupLayout는 java.awt.CardLayout의 캐스팅 할 수 없습니다" 이것들은 CardLayout을 가지고 있거나 이것을 수행하는 더 쉽고/더 좋은 방법이 있습니까?가 전환 여러 JPanel의 1 개 프레임을 가지고 난 내 목표를 달성 할 수
미리 도움을 청하십시오.
추신 : 맞춤법 오류나 문법 오류로 인해 유감입니다. 저는 원어민이 아닙니다. 또한 질문에 이미 답변되어 있고 그것에 대해 게시물을 찾기 위해 멍청한 경우이 게시물을 즉시 제거 할 것입니다. 그리고 저는 항상 건설적인 평론가에게 열려 있습니다.
제 실수는 제가 JFrame을 CardLayout으로 만들려고 시도한 것이고, 제 생각에는 JFrame을 CardLayout으로 캐스팅 할 수 없다는 것이 었습니다. jPanel로 할 수 있습니다. 그래서 방금 jPanel을 새로 만들어 카드 레이아웃으로 변경하고 jFanel이 아닌 jPanel에서 구조를 설정했습니다. 그러나 어쨌든 모두에게 감사 드리며, 당신은 정말로 솔루션을 찾는 것을 도왔습니다. – Gwitninm