我已尝试将以下样式应用于我的CheckBox
.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-单击复选框以取消选择
该复选框消失,只有在我单击窗格中的其他位置时才会再次出现。
首次渲染时,您可以看到复选框下方的图像,然后选中复选框。
答案 0 :(得分:3)
我认为问题不是来自你的 StyleSheets ,我认为这是由于 Java代码中的操作不当,你说:
复选框消失,只有在我点击面板中的其他位置
时才会再次显示
首先从你的 Pane 开始,看看是否有相关的事件,并且关于样式,你的方法几乎正确,这就是我将要进行的方式:
.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;
}
祝你好运!