JAVA 菜单条、菜单、菜单项

菜单条、菜单、菜单项

    菜单条、菜单、菜单项是窗口常用的组件,菜单放在菜单条里,菜单项放在菜单里。

 1、菜单条

    JComponent类的子类JMenubar负责创建菜单条,即JMemubar的个实例就是一个菜单条。JFrame类有个将菜单条放置到窗口中的方法:

  setJMenuBar(JMenuBar bar):

    该方法将菜单条添加到窗口的顶端,需要注意的是,只能向窗口添加一个菜单条。

2、菜单

    JComponent类的子类JMenu负责创建菜单,即JMenu的一个实例就是一个菜单。

3、菜单项

    JComponent类的子类JMenuItem负贵创建菜单项,即JMenuIem的一个实例就是一个菜

单项。

4、嵌人子菜单

    JMemu是JMenuItem的子类,因此菜单本身也是一个菜单项,当把一个菜单看作菜单项添加到某个菜单中时,称这样的菜单为子菜单。

5、菜单上的图标

    为了使菜单項有一个图标,可以用图标类Icon声明一个图

然后使用其子类ImageIcom类创建一个图标,如: 

  Icon icon = new ImageIcon(“a,gif”);

然后菜单项调用setIcon(Icon icon)方法将图标设置为icon。

例子在主类的main方法中用JFrame的子类创建一个含有菜单的窗口。

import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
public class hello {

	public static void main(String[] args) {
		WindowMenu win=new WindowMenu("带菜单的窗口",20,30,200,190);
	}
}
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("c.gif")));
		menubar.add(menu);
		setJMenuBar(menubar);
	}
}
图片的话要自己添加。
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值