菜单栏JMenuBar,菜单JMenu,菜单项JMenuItem

一旦A有子菜单项,则A为菜单JMenu,而不是菜单项JMenuItem

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent; public class Demo extends JFrame {
public Demo(){
setTitle("菜单栏");
setBounds(100,100,200,200);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JMenuBar menuBar=new JMenuBar();//菜单栏
setJMenuBar(menuBar);//设置为窗体的菜单栏
//菜单1
JMenu menu=new JMenu("菜单(F)");//菜单
menuBar.add(menu);
menu.setMnemonic(KeyEvent.VK_F);//快捷键Alt+F JMenuItem menuItem=new JMenuItem("菜单项(O)");//菜单项
menu.add(menuItem);
menuItem.addActionListener(new ItemListener());//给菜单项添加动作监听
Icon icon=new ImageIcon("src/img.JPG");//菜单项的logo
menuItem.setIcon(icon);
menuItem.setMnemonic(KeyEvent.VK_O);//快捷键Alt+F打开菜单后,按O menu.addSeparator();//菜单项之后,添加分隔线 JMenu menu12=new JMenu("菜单12");//一旦有子类,则为菜单,而不是菜单项。
menu.add(menu12); JMenuItem menuItem121=new JMenuItem("菜单项121");
JMenuItem menuItem122=new JMenuItem("菜单项122");
menu12.add(menuItem121);
menu12.add(menuItem122);
menuItem121.addActionListener(new ItemListener());//给菜单项添加动作监听
menuItem122.addActionListener(new ItemListener());//给菜单项添加动作监听
//菜单2
JMenu menu2=new JMenu("菜单2");
menuBar.add(menu2);
} public static void main(String[] args) {
Demo frame=new Demo();
frame.setVisible(true);
} private class ItemListener implements ActionListener{//自定义动作监听
public void actionPerformed(ActionEvent e) {
JMenuItem menuItem=(JMenuItem) e.getSource();//获得触发此事件的菜单项
System.out.println("被单击的菜单项是:"+menuItem.getText());//获得文本
}
}
}

高级组件——菜单栏JMenuBar的更多相关文章

  1. Ext.js高级组件

    第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...

  2. Ext JS 6学习文档-第6章-高级组件

    Ext JS 6学习文档-第6章-高级组件 高级组件 本章涵盖了高级组件,比如 tree 和 data view.它将为读者呈现一个示例项目为 图片浏览器,它使用 tree 和 data view 组 ...

  3. UI高级组件

    今天继续学习UI高级组件 网格视图 GridView 用GridView标签添加,显示网格视图,需要用到适配器,共有四种适配器 ArrayAdapter,SmipleAdapter,SmipleCou ...

  4. 十六、Swing高级组件

    1.利用JTable类直接创建表格 (1)创建表格 构造方法:JTable(Object rowData,Object[] columnNames) (2)定制表格 编辑:isCellEditable ...

  5. Ext学习-高级组件介绍

    在这一部分的学习中,主要是学习一些比较特殊的组件. 1.图表 2.日历 3.颜色,日期,时间的选择器 4.滑动条 5.各种工具类 参考文档:http://docs.sencha.com/extjs/4 ...

  6. ExtJS4.2学习(11)——高级组件之Grid

    大纲: 1.首先,搭建起来一个最基础的Grid组件: 2.其次,利用前边MVC架构将代码重构: 3.再者,介绍下Grid的一些特性. 一.搭建基础的Grid组件 在文章的开始,我们首先简单的搭建一个G ...

  7. 高级组件——表格模型TableModel

    通常增删改表格,多使用表格模型,效率更高.具体通过DefaultTableModel类中的方法来实现. TableModel接口——AbstractTableModel抽象类——DefaultTabl ...

  8. vue高级组件之provide / inject

    转载:https://blog.csdn.net/Garrettzxd/article/details/81407199 在vue中不同组件通信方式如下 1.父子组件,通过prop 2.非父子组件,通 ...

  9. 高级组件——表格JTable

    JTable(Object[][] rowData,Object[] columnNames)                         表格数据              列名集合 setSe ...

随机推荐

  1. zh-CN、zh-Hans区别

    zh-CN:地区限制匹配规范,表示用在中国大陆区域的中文.包括各种大方言.小方言.繁体.简体等等都可以被匹配到. zh-Hans:语言限制匹配规范,表示简体中文.适用区域范围是全宇宙用中文简体的地方, ...

  2. Nginx log_format

    L11 nginx 官网的日志格式如下 log_format compression(自定义名称) '$remote_addr - $remote_user [$time_local] ' '&quo ...

  3. Javascript和Jquery语法对比总结

    目的 相信大家都知道jq是js的一个类库,是为了方便我们开发前端,但是笔者在刚开始学习js和jq时经常将两者的语法记混和混用,所以整理下两者实现相同功能之前的语法区别. 声明变量 javascript ...

  4. Druid简单使用

    一.添加maven依赖 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <depende ...

  5. .net core 2.0 Autofac

    参考自 https://github.com/VictorTzeng/Zxw.Framework.NetCore 安装Autofac,在`project.csproj`加入 <PackageRe ...

  6. Codeforces Round #419 Div. 1

    A:暴力枚举第一列加多少次,显然这样能确定一种方案. #include<iostream> #include<cstdio> #include<cmath> #in ...

  7. pip详解

    pip是一个安装和管理 Python 包的工具.python安装包的工具有easy_install, setuptools, pip,distribute等,pip是Python官方推荐的包管理工具 ...

  8. 【XSY2774】学习 带花树

    题目描述 给你一个图,求最大匹配. 边的描述方式很特殊,就是一次告诉你\(c_i\)个点:\(d_1,d_2,\ldots,d_{c_i}\),表示这些点两两之间都有连边,也就是说,这是一个团.总共有 ...

  9. 【NOI2003——搜索+二分图匹配优化】

    A 文本编辑器 无旋treap真好看 B 木棒游戏 暴力神仙题 C 数据生成器 树的直径两端点为Y, Z D 智破连环阵 搜索+二分图匹配优化 第一次写欸 列一下 void dfs (int y,in ...

  10. ARC 086 E - Smuggling Marbles(dp + 启发式合并)

    题意 Sunke 有一棵 \(N + 1\) 个点的树,其中 \(0\) 为根,每个点上有 \(0\) 或 \(1\) 个石子, Sunke 会不停的进行如下操作直至整棵树没有石子 : 把 \(0\) ...