样式化javafx复选框

样式化javafx复选框,java,javafx,Java,Javafx,我已尝试将以下样式应用于我的复选框 .check-box .box { -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-white; } .check-box:selected .mark { -fx-background-color: -fx-colour-white; } .check-box:selected .box { -fx-

我已尝试将以下样式应用于我的复选框

.check-box .box {
    -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-white;
}

.check-box:selected .mark {
    -fx-background-color: -fx-colour-white;
}

.check-box:selected .box {
    -fx-background-color: -fx-blue;
}
目标是有一个灰色边框的白色复选框,当复选框被选中时,背景为蓝色,勾号为白色。当我应用这些样式时,我得到了我想要的结果。但是,执行以下步骤时会发生一件奇怪的事情: 1-单击复选框以选择 2-单击复选框以取消选择 该复选框消失,仅当我单击窗格中的其他位置时才会再次出现

首先渲染复选框时,然后选中复选框时,可以看到复选框下面的图像


我不认为问题来自您的样式表,我认为这是由于Java代码中的错误操作造成的,您说:

该复选框消失,仅当我单击窗格中的其他位置时才会再次出现

因此,从您的窗格开始,查看是否存在相关事件,关于样式,您的方法几乎是正确的,这就是我将如何进行的:

.check-box .box {

-fx-background-color: white;
-fx-border-color:grey;
-fx-border-radius:3px; 

}

.check-box:selected .mark {

-fx-background-color: white;

}

.check-box:selected .box {

-fx-background-color: #28a3f4;
}

祝你好运

您的css似乎错误,我收到警告:在解析规则“*”中的“-fx背景色”查找时无法解析“-fx白色”。复选框*.box'