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

  • Myeclipse设置JSP视图和代码显示在同一个窗口

    Myeclipse开发时,想同时查看页面及代码视图,如上图,而默认只能看到代码。 Myeclipse设置JSP页面和代码显示在同一个窗口的方法有两种。 一、在JSP页面上右击-open with-other… 在弹出的Editor selection窗口中选择web page editor,就可以了。 二、选择 window-preferences,如下图,…

    2018年12月17日 编程开发
    4.8K0
  • 简!python中安装pip的方法

     pip的安装 打开cmd,输入以下命令安装pip: python -m ensurepip –default-pip 出现如下图所示,代表pip安装成功: 查看pip版本 pip –version 更新pip版本 python -m pip install –upgrade pip 安装库 例如安装pyyaml库,打开cmd输入以下命令: pip i…

    2023年5月18日
    9.4K0
  • Cookie和Session的区别及工作原理

    本文详细分析了Cookie和Session的区别及工作原理,并对Cookie和Session安全性进行了对比。

    编程开发 2020年2月11日
    5.6K0
  • python 集合使用案例:选修课统计

    相关阅读:python 集合的使用,案例详解 本学期学校共开设了3门选修课,一个班有25位学生,选修的情况如下: 选修1号课程的同学有: set1 = {‘张三’, ‘李四’, ‘王五’, ‘马六’, ‘赵七’, ‘钱八’} 选修2号课程的同学有: set2 = {‘姬一’, ‘孙必’, ‘周冲’, ‘王五’, ‘方向’, ‘张玉’} 选修3号课程的同学有:…

    2020年1月22日
    8.7K0
  • pycharm 中 plt.imshow(img)图片不显示的解决方法(附案例)

    #%matplotlib inline # 使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中。 # Python提供了许多魔法命令,使得在IPython环境中的操作更加得心应手。魔法命令…

    2023年1月13日
    4.0K0
  • JSP制作后台登录页面:login.jsp

    设计数据库employee,manager表,字段:user_id (主键,自增1,int类型),user_name, password 创建数据源:employee_dsn 制作登录页面login.jsp 登录页面 login.jsp代码: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transition…

    2020年12月6日
    5.6K0

发表回复

登录后才能评论