package Demo;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestMenu extends Frame implements ActionListener{
/**
* @param args
*/
TextArea ta;
MenuBar mb;
Menu mnFile,mnFile1,mnFile2,mnFile3,Mefu;
MenuItem miNew,miOpen,miExit,miNew1,miOpen2,miExit3,miSave;
MenuItem mizi1,mizi2,mizi3,mizi4;
FileDialog fd;
public TestMenu(){
super("菜单的应用");
ta=new TextArea();
add(ta);
mb=new MenuBar();
this.setMenuBar(mb);
mnFile=new Menu("文件");
mnFile1=new Menu("编辑");
mnFile2=new Menu("格式");
mnFile3=new Menu("帮助");
mb.add(mnFile);
mb.add(mnFile1);
mb.add(mnFile2);
mb.add(mnFile3);
miNew1=new MenuItem("字体");miOpen2=new MenuItem("背景");miExit3=new MenuItem("图片");
miNew=new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N));
miOpen=new MenuItem("打开");
miOpen.setShortcut(new MenuShortcut(KeyEvent.VK_0));
miSave=new MenuItem("保存");
miSave.setShortcut(new MenuShortcut(KeyEvent.VK_S));
Mefu=new Menu("状态");
miExit=new MenuItem("退出");
miExit.addActionListener(this);
miOpen.addActionListener(this);
miSave.addActionListener(this);
miExit.setShortcut(new MenuShortcut(KeyEvent.VK_X));
mnFile1.add(miNew1);
mnFile1.add(miOpen2);
mnFile1.add(miExit3);
mizi1=new MenuItem("在线");
mizi2=new MenuItem("隐身");
mizi3=new MenuItem("忙碌");
mizi4=new MenuItem("离开");
Mefu.add(mizi1);
Mefu.add(mizi2);
Mefu.add(mizi3);
Mefu.add(mizi4);
mnFile.add(miNew);
mnFile.add(miOpen);
mnFile.add(miSave);
mnFile.add(Mefu);
mnFile.addSeparator();//添加分隔符
mnFile.add(miExit);
fd=new FileDialog(this,"打开",FileDialog.LOAD);
fd=new FileDialog(this,"保存",FileDialog.SAVE);
//setBackground(Color.pink);
//setResizable(false);
setBounds(200,200,400,300);
setVisible(true);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestMenu();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String str=e.getActionCommand();//返回的是字符串
if(str.equals("退出")){
System.exit(0);
}else if(str.equals("打开")){
fd.setVisible(true);
}
else if(str.equals("保存")){
fd.setVisible(true);
}
//Object obj=e.getSource();返回的是对象
//if(obj==miExit){}
}
}
/*做菜单时注意:1MenuBar 菜单条---- 2Menu 菜单-----3MenuItem---菜单选项。。。。。。。。。。。。。。。一直往下走。。。
分清目录的级别,把先后顺序搞清楚,明确谁加谁,一般都是上一级的菜单加下一级的菜单。
要先在构造方法的外面声明,在构造方法的里面进行创建对象,再加到上一级的菜单中。*/