w3resource

JavaFX event propagation game

JavaFx Events and Event Handling: Exercise-11 with Solution

Write a JavaFX program that builds a game where events propagate through various elements. Use event filters to handle game events efficiently.

Sample Solution:

JavaFx Code:

//Main.java

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {
    public static void main(String[] args) {
        // Launch the JavaFX application
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        // Set the title for the game window
        primaryStage.setTitle("Event Propagation Game");

        // Create a root node
        StackPane root = new StackPane();

        // Create a button for the game
        Button button = new Button("Click Me!");

        // Add an event filter to the button to handle action events (button clicks)
        button.addEventFilter(ActionEvent.ACTION, event -> {
            System.out.println("Game Over: You clicked the button!");
            event.consume(); // Prevent further event propagation
        });

        // Add the button to the root node
        root.getChildren().add(button);

        // Create the scene and set it on the stage
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setScene(scene);

        // Show the game window
        primaryStage.show();
    }
}

The above exercise demonstrates the concept of event propagation. In this simplified exercise, we create a game where you need to avoid clicking the button. When the button is clicked, the game ends and displays a "Game Over" message.

Sample Output:

Game Over: You clicked the button!

Flowchart:

Flowchart: JavaFX event propagation game.

Java Code Editor:

Previous: JavaFX Tree-Like UI with event propagation.
Next: JavaFX drawing application with event filters.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/java-exercises/javafx/javafx-events-and-event-handling-exercise-11.php