我正在尝试使用Javafx创建一个程序,我基本上想要按两次某个按钮。我的目标背景不太重要,因为我只想知道为什么我的代码没有按预期工作。
if(event.getSource() == next)
{
boolean state = true;
if (state = false){
System.out.print("testing " + state);
normalGUI();
state = true;
}
else{
state = false;
System.out.print("test2");
}
state = false;
}
我的输出:
---- jGRASP exec:java PokemonGUI test2test2
为什么不将状态改为假,它应该在我眼中发生。感谢您提供的任何帮助!
答案 0 :(得分:0)
因为每次你放置相同的动作(这个动作创建一个初始化为True的新布尔值):
boolean state = true;
因此,更改该值不会影响此处的任何内容:
state = false;
要解决此问题,请尝试将变量更改为全局,如下所示:
boolean state = true;
if(event.getSource() == next)
{
if (state == false){
System.out.print("testing " + state);
normalGUI();
state = true;
}
else{
state = false;
System.out.print("test2");
}
}