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菜单项组件学习的更多相关文章

  1. java Gui编程 事件监听机制

    1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 ...

  2. 初学java之菜单条,菜单,菜单项的设置

    package project; import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.InputEv ...

  3. JAVA/GUI程序之记事本

    自上半年JAVA课程结束后,再也没有看过JAVA了,最近不是很忙,又简单的看了看,本博客纯属记录学习过程,请大神们别笑,其中错误是难免的,毕竟是新手写的博客.下面就进入我们的正题吧,复习GUI时,就想 ...

  4. Java基础之创建窗口——向窗口中添加菜单(Sketcher)

    控制台程序. JMenuBar对象表示放在窗口顶部的菜单栏.可以为JMenuBar对象添加JMenu或JMenuItem对象,它们都显示在菜单栏上.JMenu对象是带有标签的菜单,单击就可以显示一列菜 ...

  5. java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项

    菜单放在菜单条里,菜单项放在菜单里1.MenuBar    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条.    在Frame类中的setMenuBar(Menu ...

  6. Java Swing界面编程(31)---菜单条:JMenu

    package com.beyole.test; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMe ...

  7. JAVA GUI学习 - JPopupMenu鼠标右键菜单组件学习

    public class JPopmenuKnow { public void test() { //为表格添加鼠标右键菜单 JMenuItem jMenuItemFileInfo = new JMe ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. Java GUI学习,贪吃蛇小游戏

    JAVA GUI练习 贪吃蛇小游戏 前几天虽然生病了,但还是跟着狂神学习了GUI的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...

随机推荐

  1. *max_element函数和*min_element函数

    C++中*max_element(v.begin,v.end)找最大元素*min_element(v.begin,v.end)找最小元素. 数组: #include<iostream> # ...

  2. gulp+browserfy模块化工具环境搭建

    1.下载ruby,在ruby环境下安装sass; 2.安装nodejs; 3.进入当前项目所在目录,在cmd命令行中输入npm install; 4.安装browserify和gulp 安装brows ...

  3. 简谈python反射

    写出一个简单类:import sysclass webserver(object): def __init__(self,host,post): self.host = host self.post ...

  4. VS中,NUnit适合测试者尽心开发自动化测试,而Unit适合开发者开发单元测试。

    1.整合Visual Studio和NUnit 在Visual Studio 2010中,通过安装NUnit插件,可以不使用外部客户端,直接运行测试. 当然,貌似在最新版本的VS2012中,安装过NU ...

  5. react-native 入门资源合集

    # 了解react-native React Native enables you to build world-class application experiences on native pla ...

  6. D3.js学习记录 - 数据类型【转】【新】

    1.变量 JAVASCRIPT的变量是一种类型宽松的语言.定义变量不用指定数据类型.而且还是动态可变的. var value = 100;value = 99.9999;value = false;v ...

  7. vb6.0 倒计时

    Dim t Dim start As Boolean Private Sub Command1_Click() If start = False Then t = Val(Text1) * 3600 ...

  8. android之ArrayAdapter的重写

    昨天介绍了ArrayAdapter的使用,今天介绍一下更加实用的一点,对它进行重写,满足自己的个性化设计需要. ArrayAdapter(数组适配器)一般用于显示一行文本信息,所以比较容易. publ ...

  9. Reorder the Books(规律)

    Reorder the Books Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  10. NHibernate初入门之配置文件属性说明(四)

    一.NHibernate配置所支持的属性 属性名 用途 dialect 设置NHibernate的Dialect类名 - 允许NHibernate针对特定的关系数据库生成优化的SQL 可用值: ful ...