메뉴와 실제 게임 자체로 Pong 복제본을 만듭니다. CardLayout
을 사용하여 두 JPanels
사이를 전환합니다.전환 후 JPanel을 시작하는 방법
그러나 메뉴에서 보드 (또는 재생 영역)로 전환하면 보드가 그냥 앉아서 키보드 입력을받지 않습니다. 어떻게 시작하거나 키 듣기를 시작합니까?
소스 코드 : https://[email protected]/cg2916/Pong.git
메뉴와 실제 게임 자체로 Pong 복제본을 만듭니다. CardLayout
을 사용하여 두 JPanels
사이를 전환합니다.전환 후 JPanel을 시작하는 방법
그러나 메뉴에서 보드 (또는 재생 영역)로 전환하면 보드가 그냥 앉아서 키보드 입력을받지 않습니다. 어떻게 시작하거나 키 듣기를 시작합니까?
소스 코드 : https://[email protected]/cg2916/Pong.git
requestFocusInWindow()
트릭을 할해야합니다.
답변 (이전에 권장) : KeyListener를 사용하지 마십시오. 키 바인딩을 사용하십시오.
키 바인딩을 사용하고 있습니다. – Cg2916
@ Cg2916 : 그렇다면 초점은 중요하지 않습니다. 위 코드 링크가 유효하지 않습니다. 그렇더라도 문제를 컴파일, 실행 및 보여주는 작은 테스트 프로그램 인 [sscce] (http : // sscce)를 만들고 게시하는 것이 더 좋습니다. 이것은 디버깅을 단순화하기 때문에 여기에 게시하지 않더라도 이점이 있습니다. –
CardLayout에 대한 리스너가이 코드
을 가져야한다CardLayout card=(CardLayout) JPanel_with_cardLayout.getLayout();
card.show(JPanel_with_cardLayout,"cardname of card you want to switch");
예 :
CardLayout card=(CardLayout) JPanel2.getLayout();
card.show(JPanel2,"card4");
는 사실, 난 바보입니다. 방금 포커스를 요청해야한다는 것을 알았습니다. – Cg2916
소스 코드가이 포럼에 게시되어야합니다. SSCCE는 짧고 단순해야합니다. – camickr