我正在为老虎机编写代码,如果btnRespin
被禁用,btnHold1
被禁用,btnHold2
被禁用,那么btnRespin
无法自行停用,如果if (btnHold1.isEnabled()==false && btnHold2.isEnabled()==false)
{
counter = 0;
counter2 = 0;
timer1.stop();
timer2.stop();
btnHold1.setEnabled(false);
btnHold2.setEnabled(false);
}
else if (btnHold1.isEnabled()==false && btnHold2.isEnabled()==false && event.getSource()==btnRespin)
{
counter = 0;
counter2 = 0;
timer1.stop();
timer2.stop();
counter3 = 0;
timer3.start();
btnHold3.setEnabled(false);
btnRespin.setEnabled(false);
}
是按下。
这就是我所拥有的:
MERGE
答案 0 :(得分:1)
当两个按钮都被禁用时,第一个if的条件为真,这样就不会评估第二个if的条件。
只需使用两个单独的ifs而不是if else:
if (btnHold1.isEnabled()==false && btnHold2.isEnabled()==false)
{
counter = 0;
counter2 = 0;
timer1.stop();
timer2.stop();
btnHold1.setEnabled(false);
btnHold2.setEnabled(false);
}
if (btnHold1.isEnabled()==false && btnHold2.isEnabled()==false && event.getSource()==btnRespin)
{
counter = 0;
counter2 = 0;
timer1.stop();
timer2.stop();
counter3 = 0;
timer3.start();
btnHold3.setEnabled(false);
btnRespin.setEnabled(false);
}
然而,这段代码仍然没有多大意义。为什么要在禁用btnHold1和btnHold2时禁用它们?并且
答案 1 :(得分:1)
您的You may or may not need the filter in this case.
Note: I cannot post company code here thats why I modified the solution.
This is to give you general idea how I have solved this problem.
声明比您的else if
声明更具体。两者都会检查if
和btnHold1
是否已停用,因此它会始终在btnHold2
之前的if
声明中显示。
尝试交换您的条件:
else if