2017-04-19 35 views
0

Ich versuche, ein Programm mit Javafx zu machen, und ich möchte im Wesentlichen eine bestimmte Taste zweimal drücken. Der Kontext meines Ziels ist weniger wichtig, da ich nur wissen möchte, warum mein Code nicht wie erwartet funktioniert.Wert einer Variablen nicht ändern in 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; 
    } 

Meine Ausgabe:

---- jGRASP exec: java PokemonGUI test2test2

Warum ist es nicht, den Staat zu falsch ändert, sollte es auf jeden Fall in meinen Augen geschehen. Vielen Dank für Ihre Hilfe!

Antwort

0

Da Jedesmal, wenn Sie die gleiche Aktion setzen (diese Aktion eine neue boolean als Wahr initialisiert erstellen):

boolean state = true; 

Und so wird der Wert ändert nichts beeinflussen hier:

state = false; 

Um das Problem zu lösen, versuchen Sie, Ihre Variable auf global, wie folgt zu ändern:

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

Wow, große brainfart dort. Vielen Dank, es saß direkt vor mir –

Verwandte Themen