仅针对初学者,要学习Swing菜单的内容,首先需要明确一点: 菜单条-菜单-菜单项的层次关系 菜单条JMenuBar中可有若干菜单JMenu,一个菜单中可有多个菜单项JMenuItem。 ps:若要对JMenuItem添加特定的功能,可以添加监听事件,即在actionPerformed写执行代码。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MenuDemo extends JFrame {
public MenuDemo() {
setSize(300,200);//设置窗体大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置退出
JMenuBar mb = new JMenuBar();//创建菜单条
setJMenuBar(mb);//将菜单栏添加到窗体中
//创建添加菜单JMenu
JMenu startMenu = new JMenu("开始");
JMenu editMenu = new JMenu("编辑");
mb.add(startMenu);
mb.add(editMenu);
//创建并添加菜单项JMenuItem
JMenuItem mi = new JMenuItem("保存");
startMenu.add(mi);
JMenuItem exitItem = new JMenuItem("退出");
startMenu.add(exitItem);
//为菜单项添加监听事件
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
setVisible(true);
JMenu help = new JMenu("帮助");
mb.setHelpMenu(help);//设置帮助菜单
mb.setBorderPainted(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MenuDemo md = new MenuDemo();
md.show(); //这种显示方法是我偷懒了~
}
}