JAVA GUI学习 - JMenuBar菜单条、JMenu菜单、JMenuItem菜单项组件学习
public class MenuBarKnow extends JFrame
{
JMenuBar jMenuBar; JMenu jMenuFile,jMenuEditor,jMenuAbout;
JMenu jMenuOpen; JMenuItem jMenuItemSave,jMenuItemEditor,jMenuItemExit;
JMenuItem jMenuItemWord,jMenuItemTxt; public MenuBarKnow()
{
init();
this.setLayout(null);
this.setSize(300, 400);
this.setTitle("你信不信,这个是menu!");
//设置setLocationRelativeTo应在setSize之后设置
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当this设置layout为null时,可以根据需要进行菜单的定位
// this.add(jMenuBar);
// jMenuBar.setBounds(10, 100, 300, 30);
//加入菜单的第二种方法:
this.setJMenuBar(jMenuBar); jMenuBar.add(jMenuFile);jMenuBar.add(jMenuEditor);jMenuBar.add(jMenuAbout); jMenuOpen.add(jMenuItemTxt);jMenuOpen.add(jMenuItemWord); jMenuFile.add(jMenuOpen);
jMenuFile.add(jMenuItemSave); jMenuEditor.add(jMenuItemEditor); jMenuAbout.add(jMenuItemExit); addListener();
}
public void init()
{
jMenuBar = new JMenuBar(); jMenuAbout = new JMenu("系统");
jMenuEditor = new JMenu("编辑");
jMenuFile = new JMenu("文件");
jMenuOpen = new JMenu("打开文件类型"); jMenuItemEditor = new JMenuItem("开始编辑");
jMenuItemExit = new JMenuItem("退出系统");
jMenuItemSave = new JMenuItem("保存");
jMenuItemTxt = new JMenuItem("Txt文件");
jMenuItemWord = new JMenuItem("Word文件"); //设置Item快捷键,方式一
jMenuItemEditor.setAccelerator(KeyStroke.getKeyStroke('s'));
//设置Item快捷键,方式二
jMenuItemExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,KeyEvent.ALT_MASK));
//设置Menu快捷键,这个快捷键必须和alt搭配使用
jMenuFile.setMnemonic('f');
/*****************************ToolBar的使用************************************/
//即:快捷按钮的使用,将JButton添加至JToolBar即可
}
public void addListener()
{
//设置Item的监听事件,以触发相应的事件发生
MenuItemActionListener menuItemActionListener = new MenuItemActionListener();
jMenuItemEditor.addActionListener(menuItemActionListener);
jMenuItemExit.addActionListener(menuItemActionListener);
jMenuItemSave.addActionListener(menuItemActionListener);
jMenuItemTxt.addActionListener(menuItemActionListener);
jMenuItemWord.addActionListener(menuItemActionListener);
}
public static void main(String[] args)
{
MenuBarKnow menuBarKnow = new MenuBarKnow();
menuBarKnow.setVisible(true);
} private class MenuItemActionListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
JMenuItem jMenuItem = (JMenuItem) e.getSource();
JOptionPane.showMessageDialog(null, jMenuItem.getText());
}
}
}
JAVA GUI学习 - JMenuBar菜单条、JMenu菜单、JMenuItem菜单项组件学习的更多相关文章
- java Gui编程 事件监听机制
1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式: 1. 命令交互方式 图书管理系统 ...
- 初学java之菜单条,菜单,菜单项的设置
package project; import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.InputEv ...
- JAVA/GUI程序之记事本
自上半年JAVA课程结束后,再也没有看过JAVA了,最近不是很忙,又简单的看了看,本博客纯属记录学习过程,请大神们别笑,其中错误是难免的,毕竟是新手写的博客.下面就进入我们的正题吧,复习GUI时,就想 ...
- Java基础之创建窗口——向窗口中添加菜单(Sketcher)
控制台程序. JMenuBar对象表示放在窗口顶部的菜单栏.可以为JMenuBar对象添加JMenu或JMenuItem对象,它们都显示在菜单栏上.JMenu对象是带有标签的菜单,单击就可以显示一列菜 ...
- java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项
菜单放在菜单条里,菜单项放在菜单里1.MenuBar 在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条. 在Frame类中的setMenuBar(Menu ...
- Java Swing界面编程(31)---菜单条:JMenu
package com.beyole.test; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMe ...
- JAVA GUI学习 - JPopupMenu鼠标右键菜单组件学习
public class JPopmenuKnow { public void test() { //为表格添加鼠标右键菜单 JMenuItem jMenuItemFileInfo = new JMe ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- Java GUI学习,贪吃蛇小游戏
JAVA GUI练习 贪吃蛇小游戏 前几天虽然生病了,但还是跟着狂神学习了GUI的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...
随机推荐
- 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息
简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息 系统环境:Fedora22(昨天已安装scrapy环境) 爬取的开始URL:ht ...
- mongodb数据库调试问题:‘db object already connecting, open cannot be called multiple times’
在微博小系统的调试过程中: (1)登入登出可以正常显示,就是在注册的时候网络连接突然停止,但是用户名和密码已经存入数据库中,报错为:undefined is not a function 错误主要指向 ...
- JS 操作日期
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...
- tee 解决readonly 文件无法修改
tee 是什么: 老规矩,找男人问.
- Android倒计时Button
最近做用户绑定,需要用到倒计时的一个Button,就花点时间封装了一个,非常简单,效果图如下: 1.TimeButton 自定义倒计时Button package com.example.timebu ...
- Android 4.0 ProGuard 代码混淆 以及 proguard returned with error code 1.See console异常的解决方法
最近呢说要上线,就去找了下上线的方法...之前做过代码混淆,用的是progarud.cfg,但是呢自己反编译了之后还是无效,然后就丢着先不管了,因为实在不知道什么情况.今天来上线的时候结果总是报错,总 ...
- SMT实用工艺
第一章 SMT概述 SMT(表面组装技术)是新一代电子组装技术.经过20世纪80年代和90年代的迅速发展,已进入成熟期.SMT已经成为一个涉及面广,内容丰富,跨多学科的综合性高新技术.最新几年,SMT ...
- was配置oracle RAC集群的数据源
在WebSphere中配置配置Oracle RAC集群的数据源,假设Oracle RAC双击分别为 HOST1 与 HOST2 , 端口为1521 ,服务名为 orcldbservice,则配置的UR ...
- 黑马程序员_<<StringBuffer,包装类>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. StringBuffer 1.概述 S ...
- 恢复sudo的权限的命令
出错的原因:不小心给了/etc/的所有文件的777属性,出现了sudo 的错误. 1.pkexec chmod 0440 /etc/sudoers 2.pkexec chmod 0440 /etc/s ...