切换按钮上的正常背景颜色和边框颜色是什么?例如:
i.toggle11.setOnAction(e->{
if(i.toggle11.isSelected()){
i.toggle11.setStyle("-fx-background-color:red");
i.toggle12.setStyle("-fx-background-color:white");
i.toggle13.setStyle("-fx-background-color:white");
}
else {
i.toggle11.setStyle("-fx-background-color:white");
}
});
我想在这个动作之后放置其他切换'正常颜色'(当创建togglebutton时相同)
答案 0 :(得分:1)
回答如何添加/删除样式
最简单的方法是,如果您通过添加CSS样式颜色为ToggleButton
着色,然后在不再需要它时将其删除,因此它将具有与格式化之前相同的样式。
示例强>
要添加的代码
i.toggle11.setOnAction(e->{
if(i.toggle11.isSelected()){
i.toggle11.getStyleClass().add("red-button");
i.toggle12.getStyleClass().add("white-button");
i.toggle13.getStyleClass().add("white-button");
}
else{
i.toggle13.getStyleClass().add("white-button");
}
});
然后删除代码
i.toggle11.getStyleClass().removeAll("red-button", "white-button");
CSS
.red-button {
-fx-background-color: red;
}
.white-button {
-fx-background-color: white;
}
只需确保添加了包含CSS样式的样式表,如:
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
<强>但是强>
我不知道你想要达到什么目标,但是如果你只想在选择它时为ToggleButton
着色,你也可以在样式表中覆盖.toggle-button:selected
而不需要其他造型:
.toggle-button:selected {
-fx-background-color: red;
}
它总是覆盖现有CSS类和伪类的最简单方法。这是学习使用ToggleButton
并设置样式的良好起点:Using JavaFX UI Controls。
您可以查看.toggle-button
here的可用样式类,也可以查看CSS reference guide。