import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class ComplexMenu {
private Frame f=new Frame("使用Menu");
private MenuBar mb =new MenuBar();
PopupMenu pop=new PopupMenu();
Menu file=new Menu("文件");
Menu edit=new Menu("编辑");
MenuItem newItem=new MenuItem("新建");
MenuItem saveItem=new MenuItem("保存");
//创建exitItem菜单项,指定使用Ctr+x快捷键
MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));
CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");
MenuItem copyItem=new MenuItem("复制");
MenuItem pasteItem=new MenuItem("粘贴");
Menu format=new Menu("格式");
MenuItem commentItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));
MenuItem cancleItem=new MenuItem("取消注释");
CheckboxMenuItem autoWrap1=new CheckboxMenuItem("自动换行");
MenuItem copyItem1=new MenuItem("复制");
MenuItem pasteItem1=new MenuItem("粘贴");
Menu format1=new Menu("格式");
//创建commentItem菜单项
MenuItem commentItem1=new MenuItem("注释");
MenuItem cancleItem1=new MenuItem("取消注释");
//创建文本域
private TextArea ta=new TextArea(6,40);
public void init(){
//以匿名内部类的形式创建菜单监听器
ActionListener menuListener=new ActionListener(){
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
ta.append("单击"+cmd+"菜单"+"\n");
if(cmd.equals("退出")){
System.exit(0);
}
}
};
commentItem.addActionListener(menuListener);
commentItem1.addActionListener(menuListener);
exitItem.addActionListener(menuListener);
//为file菜单添加菜单项
file.add(newItem);
file.add(saveItem); file.add(exitItem);
//为edit菜单添加菜单项
edit.addSeparator();
edit.add(copyItem);
edit.add(pasteItem);
//为format菜单添加菜单项
format.add(commentItem);
format.add(cancleItem);
//为format1菜单添加菜单项
format1.add(commentItem1);
format1.add(cancleItem1);
//使用添加new MenuItem("-")的方式添加菜单分隔线
edit.add(new MenuItem("-"));
edit.add(format);
pop.add(autoWrap1);
pop.addSeparator();
pop.add(copyItem1);
pop.add(pasteItem1);
pop.add(new MenuItem("-"));
pop.add(format1);
ta.add(pop);
ta.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger()){
pop.show(ta, e.getX(), e.getY());
}
}
});
//将file、 edit添加到mb菜单中
mb.add(file);
mb.add(edit);
f.setMenuBar(mb);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
ta.append("用户试图关闭窗口!\n");
System.exit(0);
}
});
f.add(ta);
f.setBounds(0,0, 1000, 500);
f.setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class ComplexMenu {
private Frame f=new Frame("使用Menu");
private MenuBar mb =new MenuBar();
PopupMenu pop=new PopupMenu();
Menu file=new Menu("文件");
Menu edit=new Menu("编辑");
MenuItem newItem=new MenuItem("新建");
MenuItem saveItem=new MenuItem("保存");
//创建exitItem菜单项,指定使用Ctr+x快捷键
MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));
CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");
MenuItem copyItem=new MenuItem("复制");
MenuItem pasteItem=new MenuItem("粘贴");
Menu format=new Menu("格式");
MenuItem commentItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));
MenuItem cancleItem=new MenuItem("取消注释");
CheckboxMenuItem autoWrap1=new CheckboxMenuItem("自动换行");
MenuItem copyItem1=new MenuItem("复制");
MenuItem pasteItem1=new MenuItem("粘贴");
Menu format1=new Menu("格式");
//创建commentItem菜单项
MenuItem commentItem1=new MenuItem("注释");
MenuItem cancleItem1=new MenuItem("取消注释");
//创建文本域
private TextArea ta=new TextArea(6,40);
public void init(){
//以匿名内部类的形式创建菜单监听器
ActionListener menuListener=new ActionListener(){
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
ta.append("单击"+cmd+"菜单"+"\n");
if(cmd.equals("退出")){
System.exit(0);
}
}
};
commentItem.addActionListener(menuListener);
commentItem1.addActionListener(menuListener);
exitItem.addActionListener(menuListener);
//为file菜单添加菜单项
file.add(newItem);
file.add(saveItem); file.add(exitItem);
//为edit菜单添加菜单项
edit.addSeparator();
edit.add(copyItem);
edit.add(pasteItem);
//为format菜单添加菜单项
format.add(commentItem);
format.add(cancleItem);
//为format1菜单添加菜单项
format1.add(commentItem1);
format1.add(cancleItem1);
//使用添加new MenuItem("-")的方式添加菜单分隔线
edit.add(new MenuItem("-"));
edit.add(format);
pop.add(autoWrap1);
pop.addSeparator();
pop.add(copyItem1);
pop.add(pasteItem1);
pop.add(new MenuItem("-"));
pop.add(format1);
ta.add(pop);
ta.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger()){
pop.show(ta, e.getX(), e.getY());
}
}
});
//将file、 edit添加到mb菜单中
mb.add(file);
mb.add(edit);
f.setMenuBar(mb);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
ta.append("用户试图关闭窗口!\n");
System.exit(0);
}
});
f.add(ta);
f.setBounds(0,0, 1000, 500);
f.setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class ComplexMenu {
private Frame f = new Frame("使用Menu");
private MenuBar mb = new MenuBar();
PopupMenu pop = new PopupMenu();
Menu file = new Menu("文件");
Menu edit = new Menu("编辑");
MenuItem newItem = new MenuItem("新建");
MenuItem saveItem = new MenuItem("保存");
// 创建exitItem菜单项,指定使用Ctr+x快捷键
MenuItem exitItem = new MenuItem("退出", new MenuShortcut(KeyEvent.VK_X));
CheckboxMenuItem autoWrap = new CheckboxMenuItem("自动换行");
MenuItem copyItem = new MenuItem("复制");
MenuItem pasteItem = new MenuItem("粘贴");
Menu format = new Menu("格式");
MenuItem commentItem = new MenuItem("注释", new MenuShortcut(
KeyEvent.VK_SLASH, true));
MenuItem cancleItem = new MenuItem("取消注释"); CheckboxMenuItem autoWrap1 = new CheckboxMenuItem("自动换行");
MenuItem copyItem1 = new MenuItem("复制");
MenuItem pasteItem1 = new MenuItem("粘贴");
Menu format1 = new Menu("格式");
// 创建commentItem菜单项
MenuItem commentItem1 = new MenuItem("注释");
MenuItem cancleItem1 = new MenuItem("取消注释");
// 创建文本域
private TextArea ta = new TextArea(6, 40); public void init() {
// 以匿名内部类的形式创建菜单监听器
ActionListener menuListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
ta.append("单击" + cmd + "菜单" + "\n"); if (cmd.equals("退出")) {
System.exit(0);
}
}
};
commentItem.addActionListener(menuListener);
commentItem1.addActionListener(menuListener);
exitItem.addActionListener(menuListener);
// 为file菜单添加菜单项
file.add(newItem);
file.add(saveItem); file.add(exitItem);
// 为edit菜单添加菜单项
edit.addSeparator();
edit.add(copyItem);
edit.add(pasteItem);
// 为format菜单添加菜单项
format.add(commentItem);
format.add(cancleItem);
// 为format1菜单添加菜单项
format1.add(commentItem1);
format1.add(cancleItem1);
// 使用添加new MenuItem("-")的方式添加菜单分隔线
edit.add(new MenuItem("-"));
edit.add(format);
pop.add(autoWrap1);
pop.addSeparator();
pop.add(copyItem1);
pop.add(pasteItem1);
pop.add(new MenuItem("-"));
pop.add(format1);
ta.add(pop);
ta.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
pop.show(ta, e.getX(), e.getY());
}
}
});
// 将file、 edit添加到mb菜单中
mb.add(file);
mb.add(edit);
f.setMenuBar(mb);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
ta.append("用户试图关闭窗口!\n");
System.exit(0);
}
});
f.add(ta);
f.setBounds(0, 0, 1000, 500);
f.setVisible(true);
}
public static void main(String[] args) {
ComplexMenu cm = new ComplexMenu();
cm.init();
}
}
ComplexMenu c = new ComplexMenu();
c.init();
}
complexMenu.init();
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class ComplexMenu {
public ComplexMenu() {
Frame f=new Frame("使用Menu");
MenuBar mb =new MenuBar();
final PopupMenu pop=new PopupMenu();
Menu file=new Menu("文件");
Menu edit=new Menu("编辑");
MenuItem newItem=new MenuItem("新建");
MenuItem saveItem=new MenuItem("保存");
//创建exitItem菜单项,指定使用Ctr+x快捷键
MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));
CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");
MenuItem copyItem=new MenuItem("复制");
MenuItem pasteItem=new MenuItem("粘贴");
Menu format=new Menu("格式");
MenuItem commentItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));
MenuItem cancleItem=new MenuItem("取消注释");CheckboxMenuItem autoWrap1=new CheckboxMenuItem("自动换行");
MenuItem copyItem1=new MenuItem("复制");
MenuItem pasteItem1=new MenuItem("粘贴");
Menu format1=new Menu("格式");
//创建commentItem菜单项
MenuItem commentItem1=new MenuItem("注释");
MenuItem cancleItem1=new MenuItem("取消注释");
//创建文本域
final TextArea ta=new TextArea(6,40);
//以匿名内部类的形式创建菜单监听器
ActionListener menuListener=new ActionListener(){
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
ta.append("单击"+cmd+"菜单"+"\n");
if(cmd.equals("退出")){
System.exit(0);
}
}
};
commentItem.addActionListener(menuListener);
commentItem1.addActionListener(menuListener);
exitItem.addActionListener(menuListener);
//为file菜单添加菜单项
file.add(newItem);
file.add(saveItem);file.add(exitItem);
//为edit菜单添加菜单项
edit.addSeparator();
edit.add(copyItem);
edit.add(pasteItem);
//为format菜单添加菜单项
format.add(commentItem);
format.add(cancleItem);
//为format1菜单添加菜单项
format1.add(commentItem1);
format1.add(cancleItem1);
//使用添加new MenuItem("-")的方式添加菜单分隔线
edit.add(new MenuItem("-"));
edit.add(format);
pop.add(autoWrap1);
pop.addSeparator();
pop.add(copyItem1);
pop.add(pasteItem1);
pop.add(new MenuItem("-"));
pop.add(format1);
ta.add(pop);
ta.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger()){
pop.show(ta, e.getX(), e.getY());
}
}
});
//将file、 edit添加到mb菜单中
mb.add(file);
mb.add(edit);
f.setMenuBar(mb);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
ta.append("用户试图关闭窗口!\n");
System.exit(0);
}
});
f.add(ta);
f.setBounds(0,0, 1000, 500);
f.setVisible(true);
}
public static void main(String[] args) {
new ComplexMenu();
}
}