2 回答

TA贡献1815条经验 获得超13个赞
这不是一个绝对正确的解决方案,但作为一种解决方法,您可以继承您的 javaFX 样式以进行日期选择器弹出控件
如果你把它添加到你的 abc.css 中,按钮会像默认一样正常
.date-picker-popup > * > .spinner > .button { -fx-background-color: transparent; -fx-background-radius: 0; -fx-pref-width: -1; -fx-pref-height: -1;}

TA贡献1827条经验 获得超4个赞
不幸的是,没有办法阻止将样式应用于具有特定祖先的节点。这需要你
想出一种方法来限制以不修改 eg 的后代的方式应用您的样式的节点
DatePicker
,或者将您修改的属性重置为
modena.css
适用于它们的值。
对于第二个选项,您可以使用
Button {
-fx-font-size: 20;
-fx-font-family: "Arial";
-fx-pref-width: 300;
-fx-pref-height: 60;
-fx-background-radius: 16px;
-fx-background-color: lightgrey;
-fx-text-fill: black;
}
.date-picker-popup > * > .spinner > .button {
-fx-font-size: 1em;
-fx-font-family: "System";
-fx-pref-width: -1;
-fx-pref-height: -1;
-fx-background-color: -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-radius: 0;
}
.date-picker-popup > * > .spinner > .button:focused {
-fx-background-color: -fx-focus-color, -fx-inner-border, -fx-body-color, -fx-faint-focus-color, -fx-body-color;
}
但是请注意,需要对每个使用按钮的标准控件执行此操作。添加一种方法来选择您想要设置样式的按钮可能要简单得多。例如,您可以向要设置样式的按钮添加样式类:
button.getStyleClass().add("my-style");
Button.my-style {
-fx-font-size: 20;
-fx-font-family: "Arial";
-fx-pref-width: 300;
-fx-pref-height: 60;
-fx-background-radius: 16px;
-fx-background-color: lightgrey;
-fx-text-fill: black;
}
添加回答
举报