2011-04-27 7 views
0

현재 Java로 게임 중이며 문제가 발생했습니다. 그것은 전략 게임이다.JPanel의 위치를 ​​업데이트 중입니다.

내 게임 영역 또는지도는 JPanel이며 JScrollPane에 넣으면지도를 스크롤 할 수 있습니다. 다른 JPanels를지도에 표시합니다 (예 : 현재 자원에 대한 정보 표시 줄). 물론 내가 스크롤 할 때, JPanels는 따라 가지 않고, 이제는 내 최고의 전략이 무엇인지 궁금한가요?

지금은 키보드 화살표를 사용하여 스크롤 한 다음 동일한 방향으로 이동하려는 JPanels의 setBounds를 사용합니다. 예를 들어, 오른쪽 화살표 키의 경우 setBounds 매개 변수 (x, y, sizeX, sizeY)의 x 값을 늘리십시오. 이것은 매우 예쁘지 않고 몇 초 동안 오른쪽 화살표 키를 누르고 있으면 이미지가있는 JPanel이 약간 깜박입니다.

내 옵션에는 어떤 것이 있습니까? 시간 내 줘서 고마워!

+0

당신이하고있는 일을 더 잘 이해할 수 있도록 몇 가지 코드를 게시해야합니다. 어쨌든, 내가 이해 한 바에 따르면지도 JPanel에 "bar JPanel"을 추가하는 것입니다. 왜? 막대의 JPanel을지도의 아버지 구성 요소에 추가하고 zvalues를 사용하여 중복 된 순서를 설정합니다. – Heisenbug

답변

1

"자원"바를 스크롤 패널 외부에 놓습니다. 즉, 메인 패널에 BorderLayout이 있고 맵 영역이 중앙 구성 요소가되도록하고 자원 구성 요소를 남쪽 구성 요소로 지정하십시오.

 Main panel (BorderLayout) 
_______________________________________ 
| ___________________________________ | 
| |         |A| | 
| |         | | | 
| |         | | | 
| |  Center component:   | | | 
| |         | | | 
| | (Scrollpane containing the map) | | | 
| |         | | | 
| |         | | | 
| |_________________________________|v| | 
| |<_______________________________>| | 
|          | 
| ___________________________________ | 
| |         | | 
| | South component: Resources  | | 
| |___________________________________| | 
|_______________________________________|