JavaFX ToggleButton 设置颜色和恢复默认颜色

标签 java css javafx togglebutton

切换按钮上的正常背景颜色和边框颜色是什么?示例:

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

我想在此操作之后将其他切换按钮设置为“正常颜色”(与创建切换按钮时相同)

最佳答案

回答如何添加/删除样式

最简单的方法是通过添加 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 .

关于JavaFX ToggleButton 设置颜色和恢复默认颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37693835/

相关文章:

Java 小程序未正确响应

css - 仅使用 CSS 在单独的行上垂直左对齐单选按钮标签组合

php - 使用 .htaccess 文件中的 mod_rewrite 更改 URL 文件夹层次结构

css - Javafx、css、为分割 Pane 设置背景图片?

java - 键绑定(bind)不起作用,未执行操作

java - 使用 Citrus 时如何禁用服务器证书中的主机名验证

java - 在Java Applet中加载并显示本地镜像

html - 父级内部溢出的子 div 正在扩展父级

java - 是否可以以编程方式将 ScrollPane 滚动到给定位置?

JavaFX 更新任务中的文本