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的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...
随机推荐
- asp.net word内容读取到页面
1.添加Microsoft.Vbe.Interop.dll引用. 2.以下方法可以简单的读取到word文档文字内容,不包括图片.格式等. private string ReadWordFile(str ...
- (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)
We have already seen how to make jQuery react to the loading of a web page. The $(document).ready()e ...
- Angular ng-repeat 对象和数组遍历
直接上代码 <!DOCTYPE html> <html> <head> <meta name="description" content= ...
- VS Code - Debugger for Chrome
VS Code - Debugger for Chrome调试JavaScript的两种方式 VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于 ...
- issues about Facebook Login
在学习The complete iOS 9 Developer Course - Build 18 Apps 中的Letture134-Facebook Login,需要整合(integrate)Pa ...
- Select XML Nodes by Name [C#]
原文 http://www.csharp-examples.net/xml-nodes-by-name/ To find nodes in an XML file you can use XPath ...
- OSCache报错error while trying to flush writer
Struts2.3+spring3+hibernate3开发现在想在原有基础上使用 oscache提高性能,使用中发现问题例如:使用struts2标签<cache:cache time=&quo ...
- java 基本语法元素
单行注释: // 多行注释: /* */ java文档: /**JAVA文档 *注释 */ : : 类似于中文的句号. 语句块:语句块也叫做复合语句 ...
- 国产编程语言R++ V1.5发布
R++ v1.5内核改动较大,下面是一些主要变化: 1.使用PJIT(Pseudocode Just-In-Time),编译速度大幅提高,但运行效率远远不如C++,不过R++将在下一版本支持RJIT( ...
- 10491 - Cows and Cars
描述:要么全选择牛,要么选择一辆车和p-1头牛,那么剩下n+m-p道门可以选择,求选择p道门以后要选择到车的概率 #include <cstdio> int main() { //freo ...