Showing posts with label JavaFX Event Handler Example. Show all posts
Showing posts with label JavaFX Event Handler Example. Show all posts

Saturday, 22 April 2017

JavaFX Event Handler Example

import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class EventHandlerEx extends Application {

    public void start(Stage stage) {

        initUI(stage);
    }

    private void initUI(Stage stage) {

        HBox root = new HBox();

        ContextMenu conMenu = new ContextMenu();
        MenuItem noopMi = new MenuItem("No op");
        MenuItem exitMi = new MenuItem("Exit");
        conMenu.getItems().addAll(noopMi, exitMi);
      
        exitMi.setOnAction(new EventHandler<ActionEvent>() {
      
            public void handle(ActionEvent event) {
                Platform.exit();
            }
        });
      
        root.setOnMousePressed(new EventHandler<MouseEvent>() {
 
            public void handle(MouseEvent event) {
                if (event.isSecondaryButtonDown()) {
                    conMenu.show(root, event.getScreenX(),
                            event.getScreenY());
                }
            }
        });      

        Scene scene = new Scene(root, 300, 250);

        stage.setTitle("EventHandler");
        stage.setScene(scene);
        stage.show();
    }

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