読者です 読者をやめる 読者になる 読者になる

マイペースなプログラミング日記

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

メニューバーを使ってみる

Java JavaFX

ショートカットキー付きのメニューアイテムを持ったメニューバーを作ってみたテスト。

import javafx.stage.Stage;
import javafx.application.Application;

import javafx.scene.Scene;
import javafx.stage.FileChooser;

import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.input.KeyCombination;

import java.io.File;

public class Test extends Application{
    public void start(final Stage stage){
        MenuBar menubar = new MenuBar();
        Menu fileMenu = new Menu("File(_F)");
        MenuItem openItem = new MenuItem("開く(_O)");
        openItem.setAccelerator(KeyCombination.valueOf("Shortcut+O"));
        
        openItem.setOnAction(event -> {
            FileChooser chooser = new FileChooser();
            File file = chooser.showOpenDialog(stage);
            
            if(file != null){
                System.out.println(file.getAbsolutePath());
            }
        });
        
        fileMenu.getItems().add(openItem);
        menubar.getMenus().add(fileMenu);
        
        stage.setScene(new Scene(menubar));
        stage.setWidth(300);
        stage.setHeight(200);
        stage.show();
    }
    
    public static void main(String... args) {
        launch(args);
    }
}

ショートカットキーの参考
qiita.com