Le CSS JavaFX pour le mode sombre
.root {
-fx-background-color: #343a40;
}
.dark-toggle-btn {
-fx-text-fill: #FFF;
-fx-background-color: #007bff;
}
Dark mode ToggleButton JavaFX
import javafx.application.Application;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
* JavaFX App
*/
public class App extends Application {
private Scene scene;
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage stage) {
// Le bouton switch pour passer du mode sombre au mode clair
var toggleBtn = new ToggleButton("Mode sombre");
// La classe de style pour le bouton
toggleBtn.getStyleClass().add("dark-toggle-btn");
// Quand le bouton change d'état la fonction est appelée
toggleBtn.selectedProperty().addListener(this::onSelectChanged);
var root = new StackPane(toggleBtn);
scene = new Scene(root, 640, 480);
stage.setScene(scene);
stage.show();
}
private void onSelectChanged(ObservableValue < ? extends Boolean > obs, Boolean oldValue, Boolean newValue) {
if (newValue) {
/*
* Suppression de toutes les feuilles de style et ajoute la feuille pour le mode
* sombre
*/
scene.getStylesheets().clear();
scene.getStylesheets().add("style-dark.css");
} else {
// Suppression des feuilles de style (retour au style "par défaut")
scene.getStylesheets().clear();
}
}
}
Commentaires
Enregistrer un commentaire