窗口

窗口

测试类

代码如下(示例):

package com.vetor.example;


public class Example9_2 {
	
	public static void main(String[] args) {
		WindowMenu win = new WindowMenu("带菜单的窗口",20,30,200,190);

	}

}

窗口类

代码如下(示例):


package com.vetor.example;

import static javax.swing.JFrame.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.*;

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"));
		JMenuItem item3 = new JMenuItem("动画话题",new ImageIcon("b.gif"));
		item1.setAccelerator(KeyStroke.getKeyStroke('A'));//设置快捷键为‘A’
		item3.setAccelerator(KeyStroke.getKeyStroke('S'));
		
		//设置ctrl-s快捷键
		item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
		
		menu.add(item1);
		menu.addSeparator();//设置水平线,分开来
		menu.add(item2);
		menu.addSeparator();
		menu.add(item3);
		menu.add(subMenu);
		//添加一个带有文字和图片的菜单项
		subMenu.add(new JMenuItem("汽车销售系统",new ImageIcon("c.gif")));
		subMenu.add(new JMenuItem("农场信息系统",new ImageIcon("d.gif")));	
		menubar.add(menu);
		setJMenuBar(menubar);
		
	}

}

总结

init()方法中有三部分
第一部分:菜单条以及菜单项的实例化
第二部分:给这些标签设置快捷键
第三部分:添加item到menu中去
分隔开用:menu.addSeparator();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值