Olá. É a primeira vez que eu trabalho com ícones em botões no JavaFX. Meu objetivo era criar um HBox que fosse parecido com uma notificação. Do lado esquerdo um ícone grande, no meio um texto e no canto superior direito um botão para fechar. Eu já havia usado AnchorPane, mas nunca no código, então por algum motivo, eu não consegui colocar o botão no canto superior direito. Mas tem outro problema nesse botão também, eu gostaria que ele aumentasse seu tamanho com o hover no CSS, mas não está funcionando.
O código que cria o HBox:
public void showSimpleNotification(String message, ImageView icon, boolean alwaysOnTop){
HBox h = new HBox();
h.getChildren().add(icon);
h.getChildren().add(new Label("Message"));
if(!alwaysOnTop){
AnchorPane anch = new AnchorPane();
Button bt = new Button();
bt.setGraphic(new ImageView(new Image(getClass().getResourceAsStream("/icons/cancel.png"))));
bt.setOnAction((ActionEvent) ->{
desktop.getChildren().remove(h);
});
bt.getStyleClass().add("button-with-icon");
anch.getChildren().add(bt);
anch.setRightAnchor(bt, 0.14);
anch.setTopAnchor(bt, 0.14);
h.getChildren().add(anch);
}
h.getStyleClass().add("notification");
h.setAlignment(Pos.CENTER_LEFT);
desktop.getChildren().add(h);
}
O CSS:
/*Botões normais */
.button{
-fx-background-color: red;
-fx-text-fill: white;
-fx-font-size: 150%;
}
.button:hover{
-fx-background-color: rgb(255,78,78);
}
/*Botões com ícone */
.button-with-icon{
-fx-background-color: transparent;
-fx-font-size: 100%;
}
.button-with-icon:hover{
-fx-pref-width: 150%;
-fx-pref-height: 150%;
-fx-background-color: transparent;
}
Alguém sabe me dizer o que eu estou fazendo errado para ficar assim?

. Tô vendo que devo aprender. Mas e sobre o CSS, sabe o que eu fiz de errado?