Java GUI编程高级实例一:给应用程序添加菜单

主要内容:

给GUI应用程序添加菜单

“Java Editor”项目的界面更新

为组件定制弹出式菜单

给GUI应用程序添加工具栏

一、给GUI应用程序添加菜单

菜单的作用:给应用程序设置操作菜单。

Java GUI编程高级实例一:给应用程序添加菜单

菜单组成

JMenuItem—菜单项,直接指向一个具体的操作

JMenu—菜单,其中可加入菜单项(JMenuItem)和菜单(Jmenu)

JMenuBar—-菜单栏,在其中可以加入菜单(JMenu)

菜单的创建

JMenu、JMenuBar和JMenuItem类的构造方法见表:

Java GUI编程高级实例一:给应用程序添加菜单

如创建一个“File”菜单:

JMenu file = new JMenu("File");

菜单的组织

菜单栏可象别的组件一样添加到应用程序窗口。

JFrame窗口加入菜单栏的方法:

  public void setJMenuBar(JMenuBar menubar)

JMenuBar加入JMenu的方法:

  public JMenu add(JMenu c)

JMenu中加入JMenu、JMenuItem、分隔线的方法:

  public JMenuItem add(JMenuItem menuItem)

  public void addSeparator()

说明:因JMenu是JMenuItem的子类,故add(JMenuItem menuItem)也可加入JMenu菜单。

如:

file.add(new JMenuItem("New"));
file.addSeparator();

快捷键设置

ØJMenu的快捷键通常是Alt + 字符键的组合,可用setMnemonic方法设置:

JMenu对象.setMnemonic(int mnemonic);

JMenuItem的快捷键可以是Ctrl + 字符键或Alt + 字符键的组合,可用setAccelerator方法设置:

JMenuItem对象.setAccelerator(KeyStroke.getKeyStroke(参数1,参数2));

参数1指向快捷键字符。参数2指向控制字符,通常是KeyEvent. CTRL_MASK(Ctrl),KeyEvent.ALT_MASK(Alt)。

如:

open.setAccelerator(KeyStroke.getKeyStroke('O',KeyEvent.CTRL_MASK));

可给“open”菜单项设置快捷键“Ctrl + O”。

菜单项的事件处理

当用户选定一个菜单项时,该菜单项将发生ActionEvent事件。关于ActionEvent事件的处理,重申三要点:

(1) 安装侦听器 (implements ActionListener)

(2) 通过addActionListener方法设置侦听

(3) 重写方法actionPerformed实现事件处理

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4620.html

(0)
江山如画的头像江山如画管理团队
上一篇 2020年1月20日 下午4:56
下一篇 2020年1月22日 上午11:15

99%的人还看了以下文章

  • python 实战-逢7 过游戏的实现

    不知道你有没有玩过“逢 7 过”的游戏,游戏规则很简单: 几个人轮流报数,凡遇到 7 的倍数,或含 7 的数字就要跳过,否则就算失败。 今天我们就用 Python 来打印 1 到 100 之间,所有满足条件的数字。 知识点 Python 开发环境 int 类型 变量 运算符 while 循环 条件判断 💡提示: 开发中,我们经常要先构思框架,…

    2022年2月2日
    4.0K0
  • aspx文件编码不统一导致乱码

    今天发现了一个很奇怪的现象,页面在VS2008下面,有些页面乱码,而有些則不会。 上网查找了很多方法均不能解决,根据以前开发asp,php的经验,怀疑这些页面的编码可能不一样。 在VS2008下面还真的不知道在哪里看文件的编码,用Dreamweaver打开一个乱码跟一个不乱码的页面对比了一下,发现一个是gb2312(不乱码),而别外一个则是utf-8(乱码)…

    2019年2月14日
    2.3K0
  • java中类、接口、方法、变量命名时的大小写问题

    类或者接口 一个单词:首字母大写 举例:Student,Demo 多个单词:每个单词首字母大写 举例:HelloWorld,StudentName 方法或者变量 一个单词:首字母小写 举例:name,main 多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames() 常量 全部大写 一个单词:大写 举例:PI …

    2020年11月15日
    3.3K0
  • Vim编辑器常用命令大全

    编辑和保存文件 vim filename为编辑一个文件,若此文件不存在,则Vim会以filename为名创建这个文件。 启动Vim时自动处于命令模式,按I键可以进入插入模式,这个命令用于在当前光标所在处插入字符。 保存和退出 命令 操作 :w 保存文件 :w filename 另存为filename :q 退出Vim :q! 强制退出Vim,用于放弃保存修改…

    2022年9月22日
    1.2K0
  • 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精)

    很多初学JSP的人,学了JSP页面、javabean技术和Servlet,但并不知道怎么用,什么时候用? 今天我们通过一个求圆面积的实例,分别使用三种方法来实现,深入理解Jsp、javabean、Servlet: jsp页面代码 Javabean Servlet 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精),为12…

    2018年2月22日
    5.3K2
  • Pandas读取excel:Excel file format cannot be determined解决方法

    Pandas读取excel时报错,excel表格不能被指定,是什么原因? 这个问题我搞了很久,最后终于搞明白了,网上各种什么utf-8呀,格式化或者另存都不行,我都试过了。 Excel file format cannot be determined解决方法 首先要确定excel已经放在项目目录下,路径是正确的。 一、然后确保安装了所需要的模块 pip in…

    2022年9月11日
    11.9K0

发表回复

登录后才能评论