a.css:
.dialog-pane .button {
-fx-background-color: -fx-base; -fx-text-fill: white;
}
代码:
Alert confirmationDialog = new Alert(AlertType.CONFIRMATION);
confirmationDialog.getDialogPane().getStylesheets().add("a.css");
当我打开确认对话框时,“取消”按钮的样式正确,但“确定”按钮没有。但是,如果我将-fx-background-color更改为实际颜色,例如:
.dialog-pane .button {
-fx-background-color: red; -fx-text-fill: white;
}
两个按钮都将正确设置样式。我已经谷歌搜索了一段时间,我很难过。任何想法为什么会发生这种情况?
答案 0 :(得分:0)
默认样式表通过更改-fx-base
的定义来处理默认按钮:
.button:default {
-fx-base: -fx-default-button;
}
因此,将背景设置为-fx-base
不会删除默认的蓝色。
目前还不清楚你想要达到的目标,但你可能需要像
这样的东西.dialog-pane .button {
-fx-background-color: -fx-base;
-fx-text-fill: white;
}
.dialog-pane .button:default {
-fx-background-color: -fx-default-button;
}
然后,只要您更改-fx-base
,您也应该更改-fx-default-button
。
答案 1 :(得分:0)
我看到了我的困惑。我正在研究一个现有的样式表,它试图像变量一样使用-fx-base,即使它是现有属性的名称。