菜单是图形用户界面的重要组成部分,它通常有两种使用方式:窗口菜单和快捷菜单。下面介绍窗口菜单的创建。
窗口菜单是由菜单条(MenmBar)、 菜单(Memu)、菜单项(Menltem)和复选菜单项CeckoMonultem等组成的。菜单放在菜单条里,菜单项放在菜单里。

(1)菜单条(MenBar)。

Java.awt包中的MenuBar类是负责创建菜单条的,即MenuBar类的一个实例就是一个菜单条。菜单条只能被添加到作为Frame对象中,整个菜单树的根基。
Frame类有一个将菜单条放置到窗口中的方法:
setMenuBar (MenuBar bar)
该方法将菜单条添加到窗口的顶端,需要注意的是,只能向窗口添加一个菜单条。

例如:
MenuBar MenuBar1 = new MenuBar()                   //创建菜单条
setMenuBar (MenuBar1)                                              //添加创建菜单条到Frame中
(2)菜单(Menu)。

Menu类负责创建菜单,即Menu类的一个实例就是一个菜单。 无法直接将菜单添加到容器的某位置,也无法使用布局管理器对其加以控制。菜单只能被添加到“菜单容器”菜单条(MenuBar) 中。
例如:
Menu Menu1=new Menu("文件")                                  //创建菜单
menubar . add (Menu1)                                                //添加到菜单条中
(3)菜单项(Menultem)。

MenuItem类是负责创建菜单项的,即MenuItem类的一个实例就是一个菜单项。菜单项必须添加到菜单中。MenuItem是整个“菜单树”中的“叶子节点”。Menultem对象可以添加ActionListener,使其能完成相应的操作,在后面的章节中会学习相关知识。
例如:
MenuItem item1=new MenuItem ("新建")                     //创建菜单项
menul . add (item1)                                                      //添加到菜单中
代码如下:

import java.awt.*;
import java.awt.event.*;
public class MenuDemo {
    Frame fr = new Frame("MenuDemo");
    MenuBar mb = new MenuBar();//以下生成菜单组件对象
    Menu m1 = new Menu("文件");
    MenuItem open = new MenuItem("打开");
    MenuItem close = new MenuItem("关闭");
    MenuItem exit = new MenuItem("退出");

MenuDemo()
        {
            fr.setSize(350,200);
            m1.add(open);                                                              //将菜单项加入到菜单中
            m1.add(close);
            m1.addSeparator();                                                      //将分隔条加入到菜单中
            m1.add(exit);
            mb.add(m1);                                                                 //将菜单加入到菜单条中
            
            fr.setMenuBar(mb);                                                      //显示菜单条
            fr.setVisible(true);
        }
        public static void main(String args[]) {
            new MenuDemo();
        }
}
运行结果:

说明:
(1)当希望在菜单项之间添加一条横向的分隔线,把菜单项分为几组时,可以添加分隔线。可以使用下面的方法:
menu1.addSeparator ()或者menul .add("-")

(2)复选菜单项与复选框一样有“选中”和“未选中”两种状态,处于“选中”状态的检测菜单项前面有一个小对号。
CheckboxMenultem Checkbox=new CheckboxMenultem(" ") ;//创建检测菜单项

menul. add (Checkbox) ;//添加到菜单中

Java:菜单(Menu)相关推荐

  1. 13、Java菜单条、菜单、菜单项

    13.Java菜单条.菜单.菜单项 一般用Java做界面时,都得牵涉到菜单条.菜单.菜单项的设计.菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置. 13.1.菜单条(Menubar) Frame ...

  2. 系出名门Android(2) - 布局(Layout)和菜单(Menu)

    2019独角兽企业重金招聘Python工程师标准>>> 系出名门Android(2) - 布局(Layout)和菜单(Menu) 作者:webabcd 介绍 在 Android 中各 ...

  3. android e图标一会有一会没有反应,android解决菜单Menu添加Icon无效问题,让菜单同时显示图标和文字...

    今天主要解决在Android 4.0 以上的系统中,在java代码中给菜单Menu动态添加Icon无效问题.本人通过尝试网上给出的涉及到菜单的源码类 MenuBuilder通过反射更改mOptiona ...

  4. 解决android4.0系统中菜单(Menu)添加Icon无效问题

    在Android4.0系统中,创建菜单Menu,通过setIcon方法给菜单添加图标是无效的,图标没有显出来,2.3系统中是可以显示出来的.这个问题的根本原因在于4.0系统中,涉及到菜单的源码类 Me ...

  5. 菜单 java,java菜单的实现

    java 实现动态菜单,,java菜单的实现,java菜单权限实现 JAVA语言实现下来菜单源程序_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档JAVA语言实现下来 ...

  6. javaFX学习之 菜单(Menu)

    菜单(Menu)和菜单栏(MenuBar),添加菜单项(MenuItem),将菜单分组,创建子菜单(Submenu),以及设置上下文菜单(ContextMenu) 其中ContextMenu组件是为了 ...

  7. Android --- 关闭菜单menu

    如果想要实现按menu键后,和按返回键相同的效果关闭菜单menu. 可以使用Activity.java中的closeOptionsMenu()来实现 /*** Progammatically clos ...

  8. 【Qt】QtCreator中使用ActionManager类管理标题栏(MunuBar)、菜单(Menu)和菜单中的项目(Action)

    1.简介 QtCreator中使用ActionManager类管理标题栏(MunuBar).菜单(Menu)和菜单中的项目(Action),下面以创建"New"动作为例,介绍Act ...

  9. 菜单Menu(AS开发实战第四章学习笔记)

    4.5 菜单Menu Android的菜单主要分两种,一种是选项菜单OptionMenu,通过按菜单键或点击事件触发,另一种是上下文菜单ContextMenu,通过长按事件触发.页面的布局文件放在re ...

  10. yii2 rbac权限控制之菜单menu详细教程

    为什么80%的码农都做不了架构师?>>>    作者:白狼 出处:http://www.manks.top/yii2_rbac_menu.html本文版权归作者,欢迎转载,但未经作者 ...

最新文章

  1. appium框架之bootstrap
  2. LeetCode---------Longest Substring Without Repeating Characters解法
  3. (转载)IP、主机名和域名
  4. 老男孩Python全栈开发(92天全)视频教程 自学笔记07
  5. iOS之深入解析bitcode的功能与应用
  6. 盘点这些年被黑的最惨的语言
  7. qt创建右键菜单,显示在鼠标点击处
  8. python风控工具_python-风控模型分析01
  9. 数论基本定理及应用(四)
  10. Oracle基本函数即字段拆分
  11. html 滑动门效果,怎样用DW做滑动门的效果
  12. Android开发入门教程pdf
  13. 行为树(Behavior trees)
  14. 无盘php,MZD无盘系统160台网吧安装实战教程
  15. 职业规划-《你的降落伞是什么颜色》书中的精髓:如何挖掘自我优势,找到心仪的工作?
  16. 哪种蓝牙耳机适合运动、最适合运动的蓝牙耳机推荐
  17. Web验证的过去现在与未来
  18. 【干货】程序员必备的中文在线编程学习网站!
  19. 利用qwinsta和rwinsta察看连接到一个机器的连接数
  20. 天龙八部本服务器的注册码,天龙八部服务端配置! - 网游单机讨论 - 藏宝湾网游单机站 - Powered by Discuz!...

热门文章

  1. centos7.8 安装部署 k8s 集群
  2. 阿里云ACP级认证考试心得+过关经验 1
  3. 集团信息化之路-我们集团的人力资源软件功能模块如何选定?
  4. python selenium 保存网页_使用python / selenium保存完整的网页(包括CSS,图像) - python...
  5. flutter学习笔记-MVVM模式学习解决报错
  6. 《例说51单片机(C语言版)(第3版)》一1.2 8051基础知识
  7. encodeURI和decodeURI
  8. Event Loop 事件循环简介
  9. EPUB和PDF的区别
  10. 京东2016实习生招聘笔试真题-技术岗位选择题A