在GridLayout中移动组件

时间:2013-05-05 23:22:01

标签: java swing awt layout-manager grid-layout

我有一个30x30的GridLayout JPanels。因此,30x30帧中的每个Cell都是带有图像的JPanel。 Aka Tiles在地图上。

我需要在keyPress上围绕此地图移动我的角色(红色JPanel)。

我该怎么做?我没有看到替换GridLayout中的组件的方法:S

另外,有没有比更换组件更好的方法,因为如果我替换它,我必须跟踪旧组件,以便当角色移动到下一个区块时,它将替换角色的旧组件曾经是。

2 个答案:

答案 0 :(得分:1)

GridLayout不是解决问题的好方法。原因:GridLayout将始终按您编写“container.add(component)”语句的顺序对组件进行排序。您不能将组件放在特定位置,除非为之前的所有位置插入虚拟组件。

您可能想尝试GridBagLayout ..在GridBagLayout中,您在关键事件上要做的就是更新动态面板的位置,它应显示在该位置的固定面板的顶部..否需要记住旧组件

答案 1 :(得分:1)

  

我该怎么做?我没有看到替换GridLayout

中的组件的方法

为什么需要更换组件?只需替换图像。

您需要跟踪最后一个组件并保存其图像。然后当你搬到一个新的广场时,你:

a)恢复旧图像 b)保存新图像 c)将红色图像添加到该位置。

相关问题