我试图让一个按钮在单击时更改其样式,我可以安排自己从 style1 更改为 style2,现在我无法弄清楚将其更改为第三种样式(style3)。我使用了 if else 语句,现在我正在考虑使用 Switch-case 作为第三个语句。
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;
});
最佳答案
可能有几十种方法可以做到这一点。这是其中之一:
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]);
});
关于java - javafx不同样式的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40131679/