高级组件——菜单栏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 ...
随机推荐
- Js--动态生成表格
<div> <h1>动态生成表格</h1> <div id="table1"> 行 ...
- 【python练习题】程序1
#题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? count = 0 for i in range(1,5): for j in range(1,5): for k ...
- How to write to an event log by using Visual C#
using System; using System.Diagnostics; namespace WriteToAnEventLog_csharp { /// Summary description ...
- SharePoint Server 2016 - Configure Office Online Server
Step 1: Create the binding between SharePoint 2016 and Office Web Apps Server To get started, open ...
- 配置 Django
Django项目的设置文件位于项目同名目录下,名叫settings.py.这个模块,集合了整个项目方方面面的设置属性,是项目启动和提供服务的根本保证. 一.简述 settings.py文件本质上是一个 ...
- BZOJ1324Exca王者之剑&BZOJ1475方格取数——二分图最大独立集
题目描述 输入 第一行给出数字N,M代表行列数.N,M均小于等于100 下面N行M列用于描述数字矩阵 输出 输出最多可以拿到多少块宝石 样例输入 2 2 1 2 2 1 样例输出 4 题意就是 ...
- Codeforces1065F Up and Down the Tree 【树形DP】
推荐一道联赛练习题. 题目分析: 你考虑进入一个子树就可能上不来了,如果上得来的话就把能上来的全捡完然后走一个上不来的,所以这就是个基本的DP套路. 代码: #include<bits/stdc ...
- 洛谷P1047校门外的树题解
题目 此题是一个模拟题,但需要注意的一点就是它的树是从数轴的0开始,所以我们也要从0开始,这样才能实现代码. 代码: #include<iostream> using namespace ...
- bzoj 1067: [SCOI2007]降雨量 (离散化+线段树)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1067 思路: 毒瘤题,写的自闭,改了一晚上,注意要理清题目的逻辑 x小于等于y,x,y之间的 ...
- Linux qemu-nbd mount qemu disk image
Linux qemu-nbd mount qemu disk image deepin@deepin:~$ deepin@deepin:~$ qemu-nbd --help Usage: qemu-n ...