導入Java . awt . toolkit;
導入Java . awt . event . action event;
導入Java . awt . event . action listener;
導入javax . swing . jframe;
導入javax . swing . jmenu;
導入javax . swing . jmenubar;
導入javax . swing . jmenuitem;
導入javax . swing . joptionpane;
/**
* 2010-1-29
* @作者張瑞敏
* Swing三級菜單示例
*/
公共類測試擴展JFrame實現ActionListener {
私有靜態final int WIDTH = 300
私有靜態final int HEIGHT = 600
private JMenuItem JMenuItem 2 _ 4 = null;
測試(){
toolkit kit = toolkit . getdefaulttoolkit();//將頂部容器框架設置為居中。
dimension screenSize = kit . getscreensize();
int width = screenSize.width
int height = screenSize.height
int x =(WIDTH-WIDTH)/2;
int y =(HEIGHT-HEIGHT)/2;
this.setLocation(x,y);
SetTitle(“三級菜單”);
setSize(寬度、高度);
init();
this . setdefaultcloseoperation(EXIT _ ON _ CLOSE);
set visible(true);
}
私有void init() {
JMenuBar menuBar = new JMenuBar();
JMenu JMenu 1 = new JMenu(" menu 1 ");
JMenu jMenu2 = new JMenu(“子菜單2”);//因為下面有子菜單,所以是JMenu類型。
j menuitem j menuitem 2 _ 1 = new j menuitem("子菜單1 ");
jmenu 1 . add(jmenu item 2 _ 1);
j menuitem j menuitem 1 = new j menuitem("二級菜單1 ");
j menuitem j menuitem 2 = new j menuitem("二級菜單2 ");
JMenu jMenuItem3 = new JMenu("二級菜單3 ");//下面有子菜單。
j menuitem j menuitem 3 _ 1 = new j menuitem("三級菜單1 ");
j menuitem j menuitem 3 _ 2 = new j menuitem("三級菜單2 ");
j menuitem j menuitem 3 _ 3 = new j menuitem("三級菜單3 ");
jmenuitem 3 . add(jmenuitem 3 _ 1);
jmenuitem 3 . add(jmenuitem 3 _ 2);
jmenuitem 3 . add(jmenuitem 3 _ 3);
jmenu 2 . add(jmenu item 1);
jmenu 2 . add(jmenu item 2);
jmenu 2 . add(jmenu item 3);
jmenu 1 . add(jmenu 2);
j menuitem j menuitem 2 _ 2 = new j menuitem(“子菜單3”);
jmenu 1 . add(jmenu item 2 _ 2);
j menuitem j menuitem 2 _ 3 = new j menuitem(“子菜單4”);
jmenu 1 . add(jmenu item 2 _ 3);
jmenu 1 . add separator();
JMenuItem 2 _ 4 = new JMenuItem(" exit ");
jmenu 1 . add(jmenu item 2 _ 4);
jmenuitem 2 _ 4 . addactionlistener(this);//註冊進行監控
menubar . add(jmenu 1);
this . setjmenubar(menuBar);//向面板添加壹個菜單,而不是this.add(menuBar)。
this . set visible(true);
}
@覆蓋
public void action performed(action event e){
if(e . getsource()= = jmenuitem 2 _ 4){
Intflag =選項窗格。ShowConfirmDiarog (null,“確定要退出嗎?”);
system . out . println(" flag = "+flag);
if (flag == 0) {
system . out . println(" exit ");
} else if (flag == 1) {
system . out . println(" No ");
}
}
}
公共靜態void main(String[] args) {
新測試();
}
}