package sample;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.ToggleGroup;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class RadioMenuItemSampleApplication extends Application {

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

    @Override
    public void start(Stage primaryStage) {
        BorderPane root = new BorderPane();
        MenuBar menuBar = new MenuBar();
        root.setTop(menuBar);

        Menu sampleMenu = new Menu("Sample");
        menuBar.getMenus().add(sampleMenu);

        ToggleGroup toggleGroup = new ToggleGroup();

        RadioMenuItem radioMenuItem1 = createRadioMenuItem("item 1", KeyCombination.keyCombination("Shortcut+1"), toggleGroup);
        RadioMenuItem radioMenuItem2 = createRadioMenuItem("item 2", KeyCombination.keyCombination("Shortcut+2"), toggleGroup);
        RadioMenuItem radioMenuItem3 = createRadioMenuItem("item 3", KeyCombination.keyCombination("Shortcut+3"), toggleGroup);

        sampleMenu.getItems().addAll(radioMenuItem1, radioMenuItem2, radioMenuItem3);

        Scene scene = new Scene(root, 640, 480);

        primaryStage.setTitle("RadioMenuItem Sample Application");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private RadioMenuItem createRadioMenuItem(String text, KeyCombination accelerator, ToggleGroup toggleGroup) {
        RadioMenuItem radioMenuItem = new RadioMenuItem(text);
        radioMenuItem.setAccelerator(accelerator);
        radioMenuItem.setToggleGroup(toggleGroup);
        return radioMenuItem;
    }
}
