package test; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.ToggleButton; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class StyleToggle extends Application { @Override public void start(Stage stage) throws Exception { HBox root = new HBox(); root.setSpacing(10); root.setAlignment(Pos.BASELINE_LEFT); String css = StyleToggle.class.getResource("styles.css").toExternalForm(); root.getStylesheets().add(css); final Label styledLabel = new Label("Initial text"); ToggleButton button = new ToggleButton("Add Highlight"); button.selectedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue source, Boolean wasSelected, Boolean isSelected) { addOrRemoveStyle(styledLabel, isSelected); } }); addOrRemoveStyle(styledLabel, false); root.getChildren().addAll(styledLabel, button); Scene scene = new Scene(root, 300, 100); stage.setScene(scene); stage.show(); } void addOrRemoveStyle(Label label, boolean add) { if (add) label.getStyleClass().add("highlighted"); else label.getStyleClass().remove("highlighted"); label.setText("Style: " + label.getStyleClass().toString()); } public static void main(String[] args) { launch(args); } }