2016-10-19 10 views
0

ボタンをクリックするとボタンのスタイルを変更しようとしていますが、スタイル1からスタイル2に変更するように手配することができましたが、今度はそれを第3スタイルに変更することはできません(style3)。 if else文を使用しましたが、今はSwitch-caseを3番目に使用することを考えています。ボタンjavafx異なるスタイル

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

答えて

1

多分これを行うには数多くの方法があります。以下は1つです:

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]); 
}); 
関連する問題