更改TextField(JavaFX)的颜色而没有副作用

时间:2016-08-23 11:03:06

标签: css javafx

改变颜色的代码

c.getStyleClass().add("required");

和css

.required {
    -fx-control-inner-background: red;
}

但该textField上的上下文菜单将具有相同的颜色。

enter image description here

如何解决?

1 个答案:

答案 0 :(得分:4)

规则

.required {
    -fx-control-inner-background: red;
}

为所选元素设置-fx-control-inner-background,它是后代

因此,您必须将其更改回所选节点的后代的默认值,其中不需要效果。由于上下文菜单被视为后代,您需要为上下文菜单更改它,例如将此规则添加到css:

.required .context-menu {
    -fx-control-inner-background: derive(-fx-base,80%);
}