高级组件——菜单栏JMenuBar
菜单栏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的更多相关文章
- Ext.js高级组件
第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...
- Ext JS 6学习文档-第6章-高级组件
Ext JS 6学习文档-第6章-高级组件 高级组件 本章涵盖了高级组件,比如 tree 和 data view.它将为读者呈现一个示例项目为 图片浏览器,它使用 tree 和 data view 组 ...
- UI高级组件
今天继续学习UI高级组件 网格视图 GridView 用GridView标签添加,显示网格视图,需要用到适配器,共有四种适配器 ArrayAdapter,SmipleAdapter,SmipleCou ...
- 十六、Swing高级组件
1.利用JTable类直接创建表格 (1)创建表格 构造方法:JTable(Object rowData,Object[] columnNames) (2)定制表格 编辑:isCellEditable ...
- Ext学习-高级组件介绍
在这一部分的学习中,主要是学习一些比较特殊的组件. 1.图表 2.日历 3.颜色,日期,时间的选择器 4.滑动条 5.各种工具类 参考文档:http://docs.sencha.com/extjs/4 ...
- ExtJS4.2学习(11)——高级组件之Grid
大纲: 1.首先,搭建起来一个最基础的Grid组件: 2.其次,利用前边MVC架构将代码重构: 3.再者,介绍下Grid的一些特性. 一.搭建基础的Grid组件 在文章的开始,我们首先简单的搭建一个G ...
- 高级组件——表格模型TableModel
通常增删改表格,多使用表格模型,效率更高.具体通过DefaultTableModel类中的方法来实现. TableModel接口——AbstractTableModel抽象类——DefaultTabl ...
- vue高级组件之provide / inject
转载:https://blog.csdn.net/Garrettzxd/article/details/81407199 在vue中不同组件通信方式如下 1.父子组件,通过prop 2.非父子组件,通 ...
- 高级组件——表格JTable
JTable(Object[][] rowData,Object[] columnNames) 表格数据 列名集合 setSe ...
随机推荐
- echo显示颜色
如有转载,不胜荣幸.http://www.cnblogs.com/aaron-agu/ [;;34m hello aaron \[0m”
- html5 表單輸入類型
輸入類型有:email,url,number,range,Date pickers(工作機制是什麼),search, 有相關類型的輸入域,會對域進行驗證. 不同的瀏覽器並不一定都支持所有的輸入類型.
- Python——Radiobutton,Checkbutton参数说明
anchor : 文本位置: background(bg) : 背景色: foreground(fg) :前景色: borderwidth : 边框宽度: width : 组件的宽度: hei ...
- vue 使用技巧总结 19.01
组件中箭头函数的使用 不要使用箭头来定义任意生命周期钩子函数: 不要使用箭头来定义一个 methods 函数: 不要使用箭头来定义 computed 里的函数: 不要使用箭头定义 watch 里的函数 ...
- JSON in SQL Server 2016
JSON functions in SQL Server enable you to analyze and query JSON data, transform JSON to relational ...
- JSON 解析 (三)—— FastJSON与Jackson比较
一.方便性与性能 调用方便性而言: FastJSON提供了大量静态方法,调用简洁方便 Jackson须实例化类,调用相对繁琐,可通过封装成JSON工具类简化调用 性能而言: FastJSON反序列化的 ...
- excel导入、导出
http://blog.csdn.net/cjh200102/article/details/12557599 NPOI 工作本HSSFWorkbook 构造方法,无参表示创建一个新的工作本,可以接收 ...
- 第十九天 标准目录与time 模块
今日内容 1.目录规范 ***** (1)文件夹的规范写法 bin 可执行文件 conf 配置文件 core 主要业务逻辑 db 数据文件 lib 库 (公共代码 第三方模块) log 日志文件 ...
- 洛谷3705 [SDOI2017] 新生舞会 【01分数规划】【KM算法】
题目分析: 裸题.怀疑$ O(n^4log{n}) $跑不过,考虑Edmonds-Karp优化. 代码: #include<bits/stdc++.h> using namespace s ...
- 【Gym 100947I】What a Mess
BUPT 2017 summer training (for 16) #1D 题意 找到n个数里面有多少对具有倍数关系.\(1 ≤ n ≤ 10^4,2 ≤ a_i ≤ 10^6\) 题解 枚举一个数 ...