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%的人还看了以下文章

  • HTTP错误 403.14 服务器配置为不列出此目录内容

    开发一个企业网站,使用ASP技术,在本地通过IIS管理器调试,出现 如下问题: HTTP 错误 403.14 – Forbidden Web 服务器被配置为不列出此目录的内容 解决方法: 在”功能视图“,中找到”目录浏览“,双击进入 在目录浏览右侧操作中选择”启用“! 这时再浏览网站,可以看到已经不报错了,但是网站是以文件目录的形式展现的! 这是…

    2018年7月3日 编程开发
    3.2K0
  • 国内github网站打不开的解决方法(验证100%解决)

    最近国内访问github.com经常打不开,无法访问。 github网站打不开的解决方法 1.打开网站http://tool.chinaz.com/dns/ ,在A类型的查询中输入 github.com,找出最快的IP地址。 2.修改hosts文件。 在hosts文件中添加: # localhost name resolution is handled wi…

    2022年2月1日 编程开发
    18.8K0
  • createStatement参数详解,带参数与不带参数的区别

    Connection接口的createStatement方法,可用来创建向数据库发送SQL语句的对象,用于执行SQL语句。 常用代码: Statement stmt = con.createStatement(); Statement stmt = con.createStatement (int resultSetType,int resultSetCon…

    2018年10月23日
    4.6K0
  • python 期末复习-综合练习题

    十八、分别使用for循环和while循环求1+2+3+4+……+856的和 要求: 1、新建一个“sum.py”文件。 2、编写程序。 3、调试程序。 4、排除错误。 十九、输入一个数,判断奇数偶数 要求: 1、新建一个“number.py”文件 2、编写程序。 3、调试程序。 4、排除错误。 二十、分别使用for循环和while循环输出1到100之间的偶数…

    2023年6月15日
    1.5K0
  • python属于编译型还是解释型的语言?python是哪一种类型的编译语言

    Python先把代码编译成字节码,再对字节码解释执行。 java   编译型(请求次数多)+解释型(请求次数少) 解释性语言定义: 程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。 现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行…

    2023年2月26日
    1.9K0
  • 纯JSP实现计算圆的面积和周长

    一个jsp页面由元素和模板数据组成.元素是必须由jsp容器处理的部分.而模板数据是jsp容器不处理的部分,如jsp中的HTML内容 元素有三种类型: 脚本元素,指令元素, 动作元素 脚本元素:包含三个部分:声明,脚本段,表达式 声明:用于声明在其它脚本元素中可以使用的变量和方法 脚本段:是一段java代码 表达式:java语言中完整的表达式 声明 以<…

    2020年4月3日
    9.3K0

发表回复

登录后才能评论