更新JPanel的位置



我目前正在开发一款Java游戏,出现了一个问题。这是一个策略游戏。

我的游戏区域或地图是一个JPanel,我把它放在JScrollPane中,允许你在地图上滚动。我在地图上放置了其他jpanel,例如关于当前资源的信息栏。当然,当我滚动,这些jpanel不跟随,现在我想知道我最好的策略是什么?

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

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

我会把"资源"栏等放在滚动面板之外。例如,让主面板有一个BorderLayout,让地图区域作为中心组件,把资源栏作为南部组件。

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

相关内容

  • 没有找到相关文章

最新更新