菜单的相关方法:
菜单栏:MenuBar mb = new MenuBar();
菜单:Menu m = new Menu();
菜单项:MenuItem mi = new MenuItem();
一级菜单案例
package cn.idcast3;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//一级菜单案例
public class FrameDemo {
public static void main(String[] args) {
Frame f = new Frame("一级菜单");
f.setBounds(400, 200, 400, 300);
f.setLayout(new FlowLayout());
// 设置菜单栏
MenuBar mb = new MenuBar();
// 设置菜单
Menu m = new Menu("文件");
// 设置菜单下面的选项,即菜单项
MenuItem mi = new MenuItem("退出系统");
m.add(mi);
mb.add(m);
// 菜单栏必须要用设置方法
f.setMenuBar(mb);
mi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
});
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
f.setVisible(true);
}
}
结果显示为
多级菜单案例
package cn.idcast3;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class FrameDemo2 {
public static void main(String[] args) {
final Frame f = new Frame("多级菜单");
f.setBounds(400, 200, 400, 300);
f.setLayout(new FlowLayout());
// 定义一个名字,获取窗体的原来名字
final String name = f.getTitle();
MenuBar mb = new MenuBar();
Menu m1 = new Menu("更改名称");
Menu m2 = new Menu("文件");
final MenuItem mi1 = new MenuItem("好好学习");
final MenuItem mi2 = new MenuItem("天天向上");
MenuItem mi3 = new MenuItem("恢复标题");
MenuItem mi4 = new MenuItem("退出系统");
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
m2.add(m1);
m2.add(mi4);
mb.add(m2);
f.setMenuBar(mb);
mi1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 设置标题, 标题的获得用getLabel 即获取标签
f.setTitle(mi1.getLabel());
}
});
mi2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
f.setTitle(mi2.getLabel());
}
});
mi3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
f.setTitle(name);
}
});
mi4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setVisible(true);
}
}
结果显示为