Я хотел бы создать такие кнопки для навигации по панели настроек:
Можете ли вы сказать мне, как я могу создать этот эффект наведения на значки? Самая сложная часть для меня — создать код CSS, который выглядит как на картинке.
Я хотел бы создать такие кнопки для навигации по панели настроек:
Можете ли вы сказать мне, как я могу создать этот эффект наведения на значки? Самая сложная часть для меня — создать код CSS, который выглядит как на картинке.
Вы должны использовать события MouseEntered и MouseExited для получения эффектов наведения на значки. попробуй это работает........
btnsa.setStyle("-fx-background-color:transparent;");
btnsa.setGraphic(new ImageView(new Image(getClass().getResourceAsStream("JavafxSm.gif"))));
btnsa.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
btnsa.setStyle("-fx-background-color:#dae7f3;");
}
});
btnsa.setOnMouseExited(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
btnsa.setStyle("-fx-background-color:transparent;");
}
});
некоторые снимки приведенного выше кода......
Хотя приведенный выше ответ работает. Вы действительно должны сделать это полностью в CSS, используя псевдоселекторы:
Джава:
btnsa.getStyleClass().add("myButton");
CSS:
.myButton {
-fx-background-color:transparent;
}
.myButton:hover {
-fx-background-color:#dae7f3;
}
Вместо этого вы можете сделать только 1-строчный код в CSS, если ваш файл FXML связан с CSS.
yourButtonId:hover{-fx-background-color: #6695e2}