2011-11-05 3 views
0

메뉴와 실제 게임 자체로 Pong 복제본을 만듭니다. CardLayout을 사용하여 두 JPanels 사이를 전환합니다.전환 후 JPanel을 시작하는 방법

그러나 메뉴에서 보드 (또는 재생 영역)로 전환하면 보드가 그냥 앉아서 키보드 입력을받지 않습니다. 어떻게 시작하거나 키 듣기를 시작합니까?

소스 코드 : https://[email protected]/cg2916/Pong.git

+1

는 사실, 난 바보입니다. 방금 포커스를 요청해야한다는 것을 알았습니다. – Cg2916

+0

소스 코드가이 포럼에 게시되어야합니다. SSCCE는 짧고 단순해야합니다. – camickr

답변

1

requestFocusInWindow() 트릭을 할해야합니다.

2

답변 (이전에 권장) : KeyListener를 사용하지 마십시오. 키 바인딩을 사용하십시오.

+0

키 바인딩을 사용하고 있습니다. – Cg2916

+0

@ Cg2916 : 그렇다면 초점은 중요하지 않습니다. 위 코드 링크가 유효하지 않습니다. 그렇더라도 문제를 컴파일, 실행 및 보여주는 작은 테스트 프로그램 인 [sscce] (http : // sscce)를 만들고 게시하는 것이 더 좋습니다. 이것은 디버깅을 단순화하기 때문에 여기에 게시하지 않더라도 이점이 있습니다. –

0

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");