package GuiOper;
/*
* 在Swing中使用JMenubar JMenu JMenuItem创建菜单,菜单基本的操作流程如下:
* (1)使用JMenubar创建菜单条
* (2)使用JMenu创建菜单
* (3)使用JMenuItem创建菜单项
* (4)将菜单项添加到菜单中,将菜单添加到菜单条中,再将菜单条添加到窗口中
* (5)为菜单项添加事件监视器
* (6)编写事件处理代码
* 注释:三者的创建顺序没有先后要求
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class menuOper {
private JFrame f;//创建窗口
public menuOper(){
init();
}
private void init(){
f=new JFrame("计算器");
f.setSize(200,200);
f.setResizable(true);//设置窗口的大小 及是否可变属性
JMenuBar menubar=new JMenuBar();
f.setJMenuBar(menubar);//在面板中加入菜单条
JMenu menu1=new JMenu("系统(V)");
menu1.setMnemonic('V');
JMenu menu2=new JMenu("编辑(E)");
menu2.setMnemonic('E');
JMenu menu3=new JMenu("帮助(H)");
menu3.setMnemonic('H');
menubar.add(menu1);//在菜单条中加入菜单
menubar.add(menu2);
menubar.add(menu3);
JMenuItem item1_2=new JMenuItem("退出");
item1_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,ActionEvent.CTRL_MASK));
JMenuItem item2_1=new JMenuItem("复制",new ImageIcon("FIRST.GIF"));
item2_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));
JMenuItem item2_2=new JMenuItem("黏贴",new ImageIcon("LAST.GIF"));
item2_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MASK));
JMenuItem item2_3=new JMenuItem("编辑备忘录");
item2_3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,ActionEvent.CTRL_MASK));
JMenuItem item3_1=new JMenuItem("关于计算器");
JMenu subMenu=new JMenu("备忘录");
JMenuItem subItem1=new JMenuItem("浏览");
JMenuItem subItem2=new JMenuItem("复制");
JMenuItem subItem3=new JMenuItem("删除");
JMenuItem subItem4=new JMenuItem("创建");
subMenu.add(subItem1);
subMenu.add(subItem2);
subMenu.add(subItem3);
subMenu.add(subItem4);
//在菜单中加入菜单项
menu1.add(subMenu);
menu1.addSeparator();
menu1.add(item1_2);
menu1.add(item2_1);
menu1.add(item2_2);
menu2.addSeparator();
menu2.add(item2_3);
menu3.add(item3_1);
f.setVisible(true);
}
public static void main(String[] args){
menuOper t=new menuOper();
}
}
/*
* 在Swing中使用JMenubar JMenu JMenuItem创建菜单,菜单基本的操作流程如下:
* (1)使用JMenubar创建菜单条
* (2)使用JMenu创建菜单
* (3)使用JMenuItem创建菜单项
* (4)将菜单项添加到菜单中,将菜单添加到菜单条中,再将菜单条添加到窗口中
* (5)为菜单项添加事件监视器
* (6)编写事件处理代码
* 注释:三者的创建顺序没有先后要求
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class menuOper {
private JFrame f;//创建窗口
public menuOper(){
init();
}
private void init(){
f=new JFrame("计算器");
f.setSize(200,200);
f.setResizable(true);//设置窗口的大小 及是否可变属性
JMenuBar menubar=new JMenuBar();
f.setJMenuBar(menubar);//在面板中加入菜单条
JMenu menu1=new JMenu("系统(V)");
menu1.setMnemonic('V');
JMenu menu2=new JMenu("编辑(E)");
menu2.setMnemonic('E');
JMenu menu3=new JMenu("帮助(H)");
menu3.setMnemonic('H');
menubar.add(menu1);//在菜单条中加入菜单
menubar.add(menu2);
menubar.add(menu3);
JMenuItem item1_2=new JMenuItem("退出");
item1_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,ActionEvent.CTRL_MASK));
JMenuItem item2_1=new JMenuItem("复制",new ImageIcon("FIRST.GIF"));
item2_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));
JMenuItem item2_2=new JMenuItem("黏贴",new ImageIcon("LAST.GIF"));
item2_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MASK));
JMenuItem item2_3=new JMenuItem("编辑备忘录");
item2_3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,ActionEvent.CTRL_MASK));
JMenuItem item3_1=new JMenuItem("关于计算器");
JMenu subMenu=new JMenu("备忘录");
JMenuItem subItem1=new JMenuItem("浏览");
JMenuItem subItem2=new JMenuItem("复制");
JMenuItem subItem3=new JMenuItem("删除");
JMenuItem subItem4=new JMenuItem("创建");
subMenu.add(subItem1);
subMenu.add(subItem2);
subMenu.add(subItem3);
subMenu.add(subItem4);
//在菜单中加入菜单项
menu1.add(subMenu);
menu1.addSeparator();
menu1.add(item1_2);
menu1.add(item2_1);
menu1.add(item2_2);
menu2.addSeparator();
menu2.add(item2_3);
menu3.add(item3_1);
f.setVisible(true);
}
public static void main(String[] args){
menuOper t=new menuOper();
}
}