0

是否可以在父节点悬停时应用节点子节点的悬停效果,而不必将悬停在每个子节点本身上以使其悬停效果发生?

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

  • HBox --> #parent
    • 标签 --> #标签
    • 按钮 --> #button

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

4

1 回答 1

3

在 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;
}
于 2018-01-14T14:14:36.243 回答