Cannot add CSS classes to my JavaFX Label

I am making a simple todolist app. Here is a watered-down version of it:

public class Main extends Application {      @Override     public void start(Stage primaryStage) throws Exception{         ListView<Label> todoListView = new ListView();          Label doneTodo = new Label ("This todo is meant to be finished and struck through");         doneTodo.getStyleClass().add("done"); // Add the "done" class to this to-do         Label undoneTodo = new Label("This todo is meant to be undone and therefore isn't struck through");          // Add both to-dos to the listview         addTodo(doneTodo, todoListView);         addTodo(undoneTodo, todoListView);          // Set the listview as the scene, and add the stylesheet         Scene scene = new Scene(todoListView, 600, 550);         scene.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());          primaryStage.setTitle("Label not taking on Strikethrough");         primaryStage.setScene(scene);         primaryStage.show();       }      // Adds the to-do (in this case just a simple Label) to the listview     private static void addTodo(Label todo, ListView<Label> todoList) {         todoList.getItems().add(todo);     }       public static void main(String[] args) {         launch(args);     } } 

Here is my CSS class:

.done {     -fx-strikethrough: true; } 

When I run the code, the -fx-strikethrough property does not show up on my Label. Note that although this is a simplified version of my app, the issue remains the same: The text inside the JavaFX Label is not being struck through.

Again, sorry for any inadequacies in my question. I am fairly new to Stack Overflow!

Thanks in advance.

Add Comment
1 Answer(s)

The CSS rule should apply to the text node under the label node:

.done .text {     -fx-strikethrough: true; } 
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.