如何在java中按下按钮时只运行一次?

如何在java中按下按钮时只运行一次?,java,swing,Java,Swing,我想创建一个游戏,当宝宝12岁时用按钮转到Y位置时,我必须返回一个宝宝。我希望它是从12移动2个位置,即10,并从10移动到6,但代码将婴儿直接移动到6。注意:语法错误不允许我将图标和婴儿作为一个整体发布。它是一个变量名 if (baby_posY==12) { if (baby_posY==12) { tiles[baby_posX][baby_posY].setIcon(null); baby_posY=baby_posY-2; tiles[bab

我想创建一个游戏,当宝宝12岁时用按钮转到Y位置时,我必须返回一个宝宝。我希望它是从12移动2个位置,即10,并从10移动到6,但代码将婴儿直接移动到6。注意:语法错误不允许我将图标和婴儿作为一个整体发布。它是一个变量名

if (baby_posY==12) {
    if (baby_posY==12) {
      tiles[baby_posX][baby_posY].setIcon(null);
      baby_posY=baby_posY-2;
      tiles[baby_posX][baby_posY].setIcon(icon Baby);   
    }
    if (baby_posY==10) {
      tiles[baby_posX][baby_posY].setIcon(null);
      baby_posY=baby_posY-4;
      tiles[baby_posX][baby_posY].setIcon(icon Baby);
    }
}

您应该在后续检查中使用else if,而不是if。现在的情况是12到10,然后它检查10,使之成为6。使用
else
可以防止这种情况

if (baby_posY==12) { 
    tiles[baby_posX][baby_posY].setIcon(null); baby_posY=baby_posY-2; // **** right here is what's causing the double move
    tiles[baby_posX][baby_posY].setIcon(icon Baby); 
} else if (baby_posY==10) { // adding 'else' will prevent this second condition from triggering if the first was triggered
    tiles[baby_posX][baby_posY].setIcon(null); baby_posY=baby_posY-4; 
    tiles[baby_posX][baby_posY].setIcon(icon Baby); 
}

您应该在后续检查中使用else if,而不是if。现在的情况是12到10,然后它检查10,使之成为6。使用
else
可以防止这种情况

if (baby_posY==12) { 
    tiles[baby_posX][baby_posY].setIcon(null); baby_posY=baby_posY-2; // **** right here is what's causing the double move
    tiles[baby_posX][baby_posY].setIcon(icon Baby); 
} else if (baby_posY==10) { // adding 'else' will prevent this second condition from triggering if the first was triggered
    tiles[baby_posX][baby_posY].setIcon(null); baby_posY=baby_posY-4; 
    tiles[baby_posX][baby_posY].setIcon(icon Baby); 
}

我希望在按下一个按钮后if(baby_posY==10)这个条件起作用。@JohnBista我已经删除了顶部的if语句之一。这就是阻止执行if(baby_posY==10)的原因。我希望if(baby_posY==10)这个条件在按下按钮后生效。@JohnBista我已删除顶部的if语句之一。如果(baby_posY==10)被执行1)为了更快地获得更好的帮助,添加一个or,这就是正在/正在阻止的。2) 例如,获取图像的一种方法是热链接到中看到的图像。例如,嵌入到中的图像的热链接。1)为了更快地获得更好的帮助,请添加或。2) 例如,获取图像的一种方法是热链接到中看到的图像。例如,嵌入到中的图像的热链接。