我有一个30x30的GridLayout JPanels。因此,30x30帧中的每个Cell都是带有图像的JPanel。 Aka Tiles在地图上。
我需要在keyPress上围绕此地图移动我的角色(红色JPanel)。
我该怎么做?我没有看到替换GridLayout中的组件的方法:S
另外,有没有比更换组件更好的方法,因为如果我替换它,我必须跟踪旧组件,以便当角色移动到下一个区块时,它将替换角色的旧组件曾经是。
答案 0 :(得分:1)
GridLayout不是解决问题的好方法。原因:GridLayout将始终按您编写“container.add(component)”语句的顺序对组件进行排序。您不能将组件放在特定位置,除非为之前的所有位置插入虚拟组件。
您可能想尝试GridBagLayout ..在GridBagLayout中,您在关键事件上要做的就是更新动态面板的位置,它应显示在该位置的固定面板的顶部..否需要记住旧组件
答案 1 :(得分:1)
我该怎么做?我没有看到替换GridLayout
中的组件的方法
为什么需要更换组件?只需替换图像。
您需要跟踪最后一个组件并保存其图像。然后当你搬到一个新的广场时,你:
a)恢复旧图像 b)保存新图像 c)将红色图像添加到该位置。