как сделать кнопку: наведите курсор мыши на лебель в Java FX - PullRequest
1 голос
/ 13 октября 2019

Я пытаюсь сделать ярлык и кнопку подключенными с помощью css в java fx, но это не работает.

#B0{
    -fx-border-radius:10px;
    -fx-background-color: blue;
}
#B0:hover{

    -fx-border-radius:10px;
    -fx-transition: 1s ease-in-out;
    -fx-background-color: green;

}
#B0:hover ~ #label{

    -fx-background-color: green;

}

ярлык не меняет свой цвет фона

1 Ответ

1 голос
/ 13 октября 2019

Селекторы, доступные в javafx, ограничены. Родные селекторы не реализованы. Единственный способ добиться чего-то подобного - это изменить метку или общий родительский элемент, чтобы включить селектор, который реализован в JavaFX в коде Java:

PseudoClass containsButtonHover = PseudoClass.getPseudoClass("contains-button-hover");
Button button = ...

// apply pseudoclass to common parent iff button is hovered
button.hoverProperty().addListener((o, oldValue, newValue) -> button.getParent().pseudoClassStateChanged(containsButtonHover, newValue));
#B0{
    -fx-border-radius:10px;
    -fx-background-color: blue;
}
#B0:hover{

    -fx-border-radius:10px;
    -fx-transition: 1s ease-in-out;
    -fx-background-color: green;

}
*:contains-button-hover>#label {
    -fx-background-color: green;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...