I have a button that changes color when I move the mouse in, but it looks stiff.
I want to have a CSS transition color transition effect.
Translated with translation tools. I don't know if you can understand it.
public void start(Stage primaryStage) throws Exception {
// border布局器
BorderPane borderPane = new BorderPane();
// Hbox 顶部菜单开始
HBox menuTop = new HBox();
menuTop.setStyle("-fx-border-width: 1;");
menuTop.setStyle("-fx-border-color: #cccc;");
menuTop.setPadding(new Insets(5,5,5,5));
menuTop.setSpacing(10);
Button button1 = new Button("new");
Button button2 = new Button("open");
Button button3 = new Button("save");
Button button4 = new Button("settings");
Button button5 = new Button("help");
Button button6 = new Button("about");
menuTop.getChildren().addAll(button1, button2, button3, button4, button5, button6);
for (Node Elemt: menuTop.getChildren()) {
Elemt.setStyle("-fx-border-width: 2;");
Elemt.setStyle("-fx-border-color: #FFE4C4;");
Elemt.setStyle("-fx-background-color: #FFDAB9;");
Elemt.setCursor(Cursor.HAND);
// I want MouseMoved button background-color effect
// 鼠标移入
Elemt.onMouseMovedProperty().set(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
Elemt.setStyle("-fx-background-color: #FFC125;");
}
});
// 鼠标移出
Elemt.onMouseExitedProperty().set(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
Elemt.setStyle("-fx-background-color: #FFDAB9;");
}
});
}
// Hbox 顶部菜单结束
borderPane.setTop(menuTop);
// 场景
Scene scene = new Scene(borderPane);
primaryStage.setWidth(440);
primaryStage.setHeight(300);
primaryStage.setResizable(false);
primaryStage.setScene(scene);
primaryStage.show();
}