2017-04-19 28 views
0

我正在尝试使用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高管:JAVA PokemonGUI test2test2

为什么没有改变状态,以虚假的,它一定要在我的眼前发生。感谢您提供的任何帮助!

回答

0

因为每次你把同样的动作时间(这个动作创建初始化为真正的一个新的布尔):

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

} 
+0

哇,那里是主要的brainfart。非常感谢,它坐在我面前 –