java awt 级联菜单

瞎摸索了一下,貌似成了……

Menu m1=new Menu("这是级联菜单吗?");

MenuItem mi1=m1;

也就是说,把Menu放在MenuItem的位置上,然后这个菜单项就可以拿去到处用了。而且前者是后者的子类,所以这样放也是有意义的。不愿意考证了,既然试出来了,就先记在这里吧。

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package testmenu; import java.awt.*; import java.awt.event.*; /** * * @author Administrator */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here MyFrame ob=new MyFrame("关于菜单的测试"); ob.init(); } } class MyFrame{ Frame fr; MenuBar mb; Menu m1,m2; MenuItem mi1,mi2,mi3,mi4; MyFrame(String str) { fr=new Frame(str); fr.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(1); } }); fr.setSize(200, 300); fr.setVisible(true); } public void init() { mb=new MenuBar(); m1=new Menu("这是一个下拉菜单"); m2=new Menu("这个作为级联菜单"); mi1=new MenuItem("菜单项1"); mi2=new MenuItem("菜单项2"); mi4=new MenuItem("菜单项4"); mi3=m2;//!!!!! mb.add(m1); m1.add(mi1); m1.add(mi2); m1.add(mi3); m2.add(mi4); fr.setMenuBar(mb); fr.setSize(400, 300); fr.setVisible(true); } }  

你可能感兴趣的:(Java,java,menu,templates,application,string,class)