龙空技术网

JavaFX学习笔记014(菜单栏)

Lucy 79

前言:

此刻看官们对“java实现菜单的输出显示”大体比较关心,你们都需要分析一些“java实现菜单的输出显示”的相关资讯。那么小编在网摘上汇集了一些关于“java实现菜单的输出显示””的相关文章,希望你们能喜欢,我们一起来了解一下吧!

引言

JavaFX的菜单栏(MenuBar)是一个用于创建应用程序菜单系统的用户界面控件。它通常包含菜单(Menu),而菜单中又包含菜单项(MenuItem)、分隔线(Separator)、和子菜单(SubMenu)等。

以下是关于JavaFX菜单栏的一些基本概念和用法:

创建菜单栏:

MenuBar menuBar = new MenuBar();

创建菜单:

Menu fileMenu = new Menu("文件");

创建菜单项:

MenuItem openMenuItem = new MenuItem("打开");

添加菜单项到菜单:

fileMenu.getItems().add(openMenuItem);

创建子菜单:

Menu subMenu = new Menu("更多选项");

将子菜单添加到菜单:

fileMenu.getItems().add(subMenu);

添加菜单到菜单栏:

menuBar.getMenus().add(fileMenu);

处理菜单项的点击事件:

openMenuItem.setOnAction(event -> {    // 处理打开菜单项的代码});

添加分隔线:

SeparatorMenuItem separator = new SeparatorMenuItem();fileMenu.getItems().add(separator);

禁用和启用菜单项:

openMenuItem.setDisable(true); // 禁用菜单项openMenuItem.setDisable(false); // 启用菜单项

设置快捷键:

openMenuItem.setAccelerator(KeyCombination.keyCombination("Ctrl+O"));
菜单样例
import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.control.*;import javafx.scene.layout.VBox;import javafx.stage.Stage;public class CompleteMenuDemo extends Application {    @Override    public void start(Stage primaryStage) {        // 创建菜单栏        MenuBar menuBar = new MenuBar();        // 创建文件菜单        Menu fileMenu = new Menu("文件");        // 创建打开菜单项        MenuItem openMenuItem = new MenuItem("打开");        // 设置快捷键        openMenuItem.setAccelerator(javafx.scene.input.KeyCombination.keyCombination("Ctrl+O"));        // 处理打开菜单项的点击事件        openMenuItem.setOnAction(event -> {            System.out.println("打开文件");        });        // 创建保存菜单项        MenuItem saveMenuItem = new MenuItem("保存");        // 处理保存菜单项的点击事件        saveMenuItem.setOnAction(event -> {            System.out.println("保存文件");        });        // 创建分隔线        SeparatorMenuItem separator = new SeparatorMenuItem();        // 创建退出菜单项        MenuItem exitMenuItem = new MenuItem("退出");        // 处理退出菜单项的点击事件        exitMenuItem.setOnAction(event -> {            System.exit(0);        });        // 添加菜单项到文件菜单        fileMenu.getItems().addAll(openMenuItem, saveMenuItem, separator, exitMenuItem);        // 创建编辑菜单        Menu editMenu = new Menu("编辑");        // 创建剪切菜单项        MenuItem cutMenuItem = new MenuItem("剪切");        cutMenuItem.setOnAction(event -> {            System.out.println("剪切文本");        });        // 创建复制菜单项        MenuItem copyMenuItem = new MenuItem("复制");        copyMenuItem.setOnAction(event -> {            System.out.println("复制文本");        });        // 创建粘贴菜单项        MenuItem pasteMenuItem = new MenuItem("粘贴");        pasteMenuItem.setOnAction(event -> {            System.out.println("粘贴文本");        });        // 添加菜单项到编辑菜单        editMenu.getItems().addAll(cutMenuItem, copyMenuItem, pasteMenuItem);        // 创建帮助菜单        Menu helpMenu = new Menu("帮助");        // 创建关于菜单项        MenuItem aboutMenuItem = new MenuItem("关于");        aboutMenuItem.setOnAction(event -> {            System.out.println("关于菜单项被点击");        });        // 添加菜单项到帮助菜单        helpMenu.getItems().add(aboutMenuItem);        // 创建子菜单        Menu subMenu = new Menu("更多选项");        // 创建子菜单项        MenuItem subMenuItem1 = new MenuItem("选项1");        MenuItem subMenuItem2 = new MenuItem("选项2");        // 添加子菜单项到子菜单        subMenu.getItems().addAll(subMenuItem1, subMenuItem2);        // 添加子菜单到文件菜单        fileMenu.getItems().add(subMenu);        // 添加文件、编辑和帮助菜单到菜单栏        menuBar.getMenus().addAll(fileMenu, editMenu, helpMenu);        // 创建垂直布局        VBox root = new VBox();        root.getChildren().add(menuBar);        // 创建场景        Scene scene = new Scene(root, 400, 300);        // 设置舞台标题和场景        primaryStage.setTitle("Complete Menu Demo");        primaryStage.setScene(scene);        // 显示舞台        primaryStage.show();    }    public static void main(String[] args) {        launch(args);    }}

菜单01

菜单02

菜单03

菜单04

这个示例包含了文件、编辑和帮助三个菜单,其中文件菜单包括打开、保存、分隔线和退出四个菜单项;编辑菜单包括剪切、复制和粘贴三个菜单项;帮助菜单只包括一个关于菜单项。点击菜单项时,会在控制台输出相应的消息。

标签: #java实现菜单的输出显示 #java窗口菜单栏