0
这是我的ActionListen类,它基于它们上的数字向网格上的按钮添加了actionlisteners。如果我点击空白点旁边的按钮(TileGame.tile [x] [y] == 0),那么两个按钮应该交换,但是,当我单击按钮时,什么都不会发生。平铺游戏动作侦听器循环中的错误
这里是我的代码:
public class ActionListen
{
int x;
int y;
public ActionListen()
{
for(x = 0 ; x <= 2 ; x++)
{
for(y = 0 ; y <= 2 ; y++)
{
if(x <2 && y <2)
{
if(TileGame.tile[x][y] !=0 && TileGame.tile[x+1][y] == 0)
{
TileGame.tilebutton[x][y].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TileGame.tile[x+1][y] = TileGame.tile[x][y];
TileGame.tile[x][y] = 0;
new DrawGame();
}
});
}
else if(TileGame.tile[x][y] !=0 && TileGame.tile[x][y+1] ==0)
{
TileGame.tilebutton[x][y].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TileGame.tile[x][y+1] = TileGame.tile[x][y];
TileGame.tile[x][y] = 0;
new DrawGame();
}
});
}
你为什么要在构造函数中做所有事情? – gldraphael 2014-10-06 13:01:01
你为什么不把侦听器添加到坐标为(2,2)的图块?为什么你要为每个动作执行一个新的DrawGame? – Juru 2014-10-06 13:05:47