菜单条 菜单 菜单项
菜单项放在菜单里 菜单放在菜单条里
- 菜单条
创建菜单条:JComponent 的子类 JMenubar
JFrame类有一个方法:菜单条放入窗口
setJMenuBar(JAmenuBar bar);
- 菜单
创建菜单:JComponent 的子类 JMenu - 菜单项
创建菜单项:JComponent 的子类 JMenuItem
JMenu是JMenuItem的子类
菜单条也可看做菜单项放入菜单 这样的菜单叫子菜单
菜单上的图标:
用图标类 Icon 声明一个图标,然后用他的子类 ImageIcon 创建一个图标
Icon icon = new ImageIcon("a.gif");
然后菜单项调用 setIcon(Icon icon)方法将图标设置为icon
package e;
public class E {
public static void main(String[] args) {
WindowMenu win = new WindowMenu("带菜单的窗口",500,300,400,400);
}
}
package e;
import javax.swing.*;
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
public class WindowMenu extends JFrame {
JMenuBar menubar;
JMenu menu,subMenu;
JMenuItem item1,item2;
public WindowMenu() {}
public WindowMenu(String s,int x,int y,int w,int h) {
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
void init(String s) {
setTitle(s);
menubar = new JMenuBar();
menu = new JMenu("菜单");
subMenu = new JMenu("软件项目");
item1 = new JMenuItem("Java话题",new ImageIcon("a.gif"));
item2 = new JMenuItem("动画话题",new ImageIcon("b.gif"));
item1.setAccelerator(KeyStroke.getKeyStroke('A'));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(subMenu);
subMenu.add(new JMenuItem("汽车销售系统",new ImageIcon("c.gif")));
subMenu.add(new JMenuItem("农场信息系统",new ImageIcon("d.gif")));
menubar.add(menu);
setJMenuBar(menubar);
}
}
a.gif
b.gif
c.gif
d.gif
图片直接复制在工程文件下