更新JPanel的位置

时间:2011-04-27 19:53:23

标签: java position jpanel setbounds

目前正在使用Java进行游戏,并且出现了问题。这是一款策略游戏。

我的游戏区域或地图是JPanel,我放入了JScrollPane,允许您滚动地图。我将其他JPanels放在地图上,例如关于当前资源的信息栏。当然,当我滚动时,theese JPanels并没有跟随,现在我想知道我最好的策略是什么?

现在,我使用键盘箭头滚动,然后我使用JPanels的setBounds我想朝同一方向移动。例如,对于右箭头键,我增加setBounds参数(x,y,sizeX,sizeY)中x值的值。这不是很漂亮,如果你按住右箭头键几秒钟,带有图像的JPanel会开始闪烁一点。

我有什么选择?谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

我会将“资源”-bars等放在滚动面板之外。即,让主面板具有BorderLayout并将地图区域作为中心组件,并将资源栏放置为南部组件。

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