【问题标题】:Updating location of JPanel更新JPanel的位置
【发布时间】:2011-04-27 19:53:23
【问题描述】:

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

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

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

我有哪些选择?感谢您的宝贵时间!

【问题讨论】:

  • 您应该发布一些代码,让我们更好地了解您在做什么。无论如何,据我了解,您正在将“bar JPanel”添加到地图 JPanel。为什么?将 bar 的 JPanel 添加到 map 的父组件,并使用 zvalues 建立重叠顺序。

标签: java position jpanel setbounds


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    相关资源
    最近更新 更多