变量值在javaFX中没有变化

时间:2017-04-19 17:04:58

标签: variables javafx

我正在尝试使用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

为什么不将状态改为假,它应该在我眼中发生。感谢您提供的任何帮助!

1 个答案:

答案 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");
 }

 }