菜单组件
步骤:
先创建菜单条,再创建菜单,每一个菜单中建立菜单项
可以菜单添加到菜单中,作为子菜单
通过setMenuBar()方法,将菜单添加到Frame中
//创建菜单栏
MenuBar mb = new MenuBar()
//创建菜单
Menu m = new Menu("文件");
//创建菜单项
MenuItem mi = new MenuItem("退出系统");
范例01:一级菜单
package cn.itcast_08;
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);
//窗体关闭
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//添加菜单项实践(退出系统——关闭窗体)
mi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
//设置窗体显示
f.setVisible(true);
}
}
范例02:多级菜单
代码:
package cn.itcast_09;
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;
import java.io.IOException;
/*
* 多级菜单案例
*/
public class FrameDemo {
public static void main(String[] args) {
//创建窗体并设置属性
Frame f = new Frame("多级菜单");
f.setBounds(400, 200, 400, 300);
f.setLayout(new FlowLayout());
String name = f.getTitle(); //获取窗体标签
//创建菜单栏
MenuBar mb = new MenuBar();
//创建菜单
Menu m1 = new Menu("文件");
Menu m2 = new Menu("更改名称");
//创建菜单项
MenuItem mi = new MenuItem("退出");
MenuItem mi1 = new MenuItem("打开记事本");
MenuItem mi2 = new MenuItem("好好学习");
MenuItem mi3= new MenuItem("天天向上");
MenuItem mi4 = new MenuItem("恢复标题");
//添加组件
mb.add(m1);
m1.add(m2);
m1.add(mi1);
m2.add(mi2);
m2.add(mi3);
m2.add(mi4);
m1.add(mi);
//设置菜单栏
f.setMenuBar(mb);
//窗体关闭
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//打开记事本实践
mi1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Runtime r = Runtime.getRuntime();
try {
r.exec("notepad");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
//好好学习事件
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(mi3.getLabel()); //拿标签
}
});
//恢复标题事件
mi4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
f.setTitle(name); //获取窗体标签
}
});
//创建菜单项事件
mi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
//窗体显示
f.setVisible(true);
}
}