JavaFX CSS:当父节点在

时间:2018-01-14 13:13:52

标签: java javafx javafx-8 javafx-2 javafx-css

当父节点悬停在其上时,是否可以应用悬停效果节点的子节点,没有必须为每个子节点本身移动悬停效果?

例如,假设我有以下节点:

  • HBox - >的 #parent
    • 标签 - >的 #label
    • 按钮 - >的#键

我希望能够在Hbox悬停时触发按钮的悬停伪类和标签。

1 个答案:

答案 0 :(得分:2)

在JavaFX 2中没有办法(使用公共API),因为它不提供对伪类的访问。即使使用JavaFX 8+,我也不建议这样做,因为这会干扰由JavaFX管理的伪类。

然而,您可以从CSS样式表中应用基于父级悬停状态的CSS规则,使它们看起来与悬停节点相同。以下CSS假定您将hover-container样式类添加到父级:

/* a button in a hovered container should look the same as a hovered button */
.hover-container:hover .button {
    -fx-color: -fx-hover-base;
}

/* override above rule for armed buttons */
.hover-container:hover .button:armed {
    -fx-color: -fx-pressed-base;
}