前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【创作赢红包】【Java AWT 图形界面编程】菜单组件 ② ( 菜单组件示例要点说明 | 菜单组件示例代码 )

【创作赢红包】【Java AWT 图形界面编程】菜单组件 ② ( 菜单组件示例要点说明 | 菜单组件示例代码 )

作者头像
韩曙亮
发布2023-04-01 11:55:45
6230
发布2023-04-01 11:55:45
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、菜单组件示例要点说明


1、创建 MenuBar 菜单栏组件

菜单组件 的 总父容器是 MenuBar 菜单栏 组件 , 该组件需要放入到 Frame 窗口中 ;

代码语言:javascript
复制
        // 创建菜单栏并添加到 Frame 对象中
        MenuBar menuBar = new MenuBar();
        frame.setMenuBar(menuBar);

2、创建 Menu 菜单组件

创建 Menu 菜单组件 , 将其添加到 MenuBar 菜单栏组件中 ;

代码语言:javascript
复制
        // 创建菜单并添加到菜单栏中
        Menu menu = new Menu("文件");
        menuBar.add(menu);

3、创建 MenuItem 菜单项组件

创建 MenuItem 菜单项组件 , 并为其设置 ActionListener 监听器 , 当选中该 菜单项 时 , 就会执行该 监听器中的 actionPerformed 回调函数 ;

创建完毕后 , 将 MenuItem 菜单项组件 放入 Menu 菜单组件 中 ;

代码语言:javascript
复制
        // 创建菜单项并添加到菜单中
        MenuItem menuItem = new MenuItem("打开");
        // 为菜单项添加 ActionListener 监听器
        menuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // 在此处添加要执行的操作
                System.out.println("打开文件");
            }
        });
        menu.add(menuItem);

4、创建 MenuItem 菜单项组件 之间的分割线

使用下面的代码 , 可以创建 MenuItem 菜单项组件 之间的分割线 ;

代码语言:javascript
复制
        MenuItem menuItem7 = new MenuItem("-");
        menu2.add(menuItem7);

5、创建带快捷键的 MenuItem 菜单项组件

创建 MenuItem 菜单项组件时 , 传递第二个参数 MenuShortcut 对象 , 可以设置 快捷键 , 设置后 , 快捷键会自动显示在 菜单项 中 ;

使用快捷键也可以触发 ActionListener 监听器 ;

代码语言:javascript
复制
        MenuItem menuItem8 = new MenuItem("注释", new MenuShortcut(KeyEvent.VK_Q, true));
        menu3.add(menuItem8);
        // 为菜单项添加 ActionListener 监听器
        menuItem8.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("注释");
            }
        });

二、代码示例


代码示例 :

代码语言:javascript
复制
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

public class MenuExample {
    public static void main(String[] args) {
        Frame frame = new Frame("菜单示例");

        // 创建菜单栏并添加到 Frame 对象中
        MenuBar menuBar = new MenuBar();
        frame.setMenuBar(menuBar);

        // 创建菜单并添加到菜单栏中
        Menu menu = new Menu("文件");
        menuBar.add(menu);

        // 创建菜单项并添加到菜单中
        MenuItem menuItem = new MenuItem("打开");
        // 为菜单项添加 ActionListener 监听器
        menuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // 在此处添加要执行的操作
                System.out.println("打开文件");
            }
        });
        menu.add(menuItem);

        MenuItem menuItem2 = new MenuItem("保存");
        menu.add(menuItem2);

        MenuItem menuItem3 = new MenuItem("另存为");
        menu.add(menuItem3);



        // 创建菜单并添加到菜单栏中
        Menu menu2 = new Menu("编辑");
        menuBar.add(menu2);

        // 创建菜单项并添加到菜单中
        MenuItem menuItem4 = new MenuItem("自动换行");
        menu2.add(menuItem4);

        MenuItem menuItem5 = new MenuItem("复制");
        menu2.add(menuItem5);

        MenuItem menuItem6 = new MenuItem("粘贴");
        menu2.add(menuItem6);

        MenuItem menuItem7 = new MenuItem("-");
        menu2.add(menuItem7);

        // 菜单组件 放入 菜单组件
        Menu menu3 = new Menu("格式");
        menu2.add(menu3);

        MenuItem menuItem8 = new MenuItem("注释", new MenuShortcut(KeyEvent.VK_Q, true));
        menu3.add(menuItem8);
        // 为菜单项添加 ActionListener 监听器
        menuItem8.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("注释");
            }
        });

        MenuItem menuItem9 = new MenuItem("取消注释");
        menu3.add(menuItem9);

        frame.setSize(300, 200);
        frame.setVisible(true);
    }
}

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、菜单组件示例要点说明
    • 1、创建 MenuBar 菜单栏组件
      • 2、创建 Menu 菜单组件
        • 3、创建 MenuItem 菜单项组件
          • 4、创建 MenuItem 菜单项组件 之间的分割线
            • 5、创建带快捷键的 MenuItem 菜单项组件
            • 二、代码示例
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档