JavaFX z Arią - powrót do strony głównej

JavaFX – Stylizacja przycisków (Button)

Pokazujemy tutaj stylizację przycisku. Przycisk ma trzy stany (normal, hover i pressed).
Przyciski mogą mieć trzy wielkości (big, small, middle).
Każdy przycisk ma napis i grafikę. Wielkość napisu i grafiki jest dostosowywana przy użyciu CSS.

Klasa BigButton

Klasy SmallButton oraz MiddleButton różnią się tylko wielkością przycisku i klasą CSS.

package dragonbutton;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class BigButton extends Application {

    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void init() {
    }

    @Override
    public void start(Stage stage) {
        try {
            VBox root = new VBox();
            //
            Button big = new Button("Liczby \nrzeczywiste");
            big.getStyleClass().add("bbutton");
            big.setOnAction(e -> System.out.println(
                    "Kliknąłeś przycisk 'Liczby rzeczywiste'"));
            big.setMaxWidth(200);
            big.setMinWidth(200);
            big.setPrefWidth(200);
            //
            root.getChildren().add(big);
            Scene scene = new Scene(root, 300, 300);
            scene.getStylesheets().add("zasoby/vademecum.css");
            stage.setScene(scene);
            stage.show();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void stop() {
    }
}
Plik vademecum.css
.button{
-fx-text-fill: #238E3E;
-fx-text-alignment: center;
-fx-content-display: left;
-fx-background-color: white;
-fx-border-width: 1;
-fx-border-color: black;
}
.button:hover{
-fx-background-color: #BBBBBB;
}
.button:pressed{
-fx-background-color: #666666;
}
.bbutton{
-fx-font-size: 21px;
-fx-graphic-text-gap: 10;
-fx-graphic: url(/zasoby/samsmok48.png);
-fx-background-radius: 10;
-fx-border-radius:10;
}
.mbutton{
-fx-font-size: 17px;
-fx-graphic-text-gap: 7.5;
-fx-graphic: url(/zasoby/samsmok32.png);
-fx-background-radius: 7.5;
-fx-border-radius: 7.5;
}
.sbutton{
-fx-font-size: 13px;
-fx-graphic-text-gap: 5;
-fx-graphic: url(/zasoby/samsmok24.png);
-fx-background-radius: 5;
-fx-border-radius: 5;
}

Po uruchomieniu klasy zobaczymy przycisk.

Przycisk - stan normalny
Stan normalny

Gdy najedziemy na niego myszą i klikniemy zobaczymy pozostałe stany.

Przycisk - stan hover
Stan hover
Przycisk - stan pressed
Stan pressed
Pliki do ściągnięcia

Ściągnij moduł rozdzial29c.zip