2016-10-19 6 views
0

Ich versuche, einen Button zu ändern seinen Stil, wenn Sie darauf klicken, könnte ich arrangieren mich von style1 zu style2 ändern, jetzt kann ich nicht herausfinden, um es zu einem dritten Stil zu ändern (Stil3). Ich habe eine if else-Anweisung verwendet, jetzt denke ich daran, Switch-case für eine dritte zu verwenden.button javafx verschiedene Stile

style = true; 
    btn.setOnAction((ActionEvent event) -> 
    { 
    System.out.println("Hello!"); 
     if (style == true) { 
    btn.getStyleClass().remove("button1"); 
    btn.getStyleClass().add("button2"); 
     } 
     else { 
    btn.getStyleClass().remove("button2"); 
    btn.getStyleClass().add("button1"); 
     } 

     style=!style; 
    }); 

Antwort

1

Es gibt wahrscheinlich Dutzende Möglichkeiten, dies zu tun. Hier ist eine:

private int currentStyle = 0 ; 

private String[] styles = { "button1", "button2", "button3" }; 

// ... 

btn.setOnAction(e -> { 
    btn.getStyleClass().removeAll(styles); 
    currentStyle = (currentStyle + 1) % styles.length ; 
    btn.getStyleClass().add(styles[currentStyle]); 
}); 
Verwandte Themen