多级菜单(java GUI)
话不多说,先来效果:
源码如下:
package javaBasic;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Menu {
public static void main(String[] args) {
MyFrame3 frame = new MyFrame3();
}
}
class MyFrame3 extends JFrame{
JMenuBar mb;//菜单栏
JMenu m1,m2,m3,m4;//菜单
JMenuItem mi1,mi2,mi3,mi11,mi12;//菜单项
MyFrame3()
{
this.setTitle("eclipse-worksplace");
this.setSize(500,400);
this.setLocationRelativeTo(null);
this.setLayout(new FlowLayout());
mb = new JMenuBar();
m1 = new JMenu("File");
m2 = new JMenu("Edit");
m3 = new JMenu("Source");
m4 = new JMenu("new");
mi1 = new JMenuItem("open file");
mi2 = new JMenuItem("exit");
mi11 = new JMenuItem("Java Project");
mi12 = new JMenuItem("Project");
mb.add(m1);
mb.add(m2);
mb.add(m3);
m1.add(m4);
m1.add(mi1);
m1.add(mi2);
m4.add(mi11);
m4.add(mi12);
this.setJMenuBar(mb);//注意设置菜单项的方法是set 不是add
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
mi2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
}