菜单放在菜单条里,菜单项放在菜单里
1.MenuBar
在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条。
在Frame类中的setMenuBar(MenuBar bar)方法,可把菜单条添加到窗口的顶端,但只能向窗口中添加一个菜单条
2.Menu
在java.awt包中,负责创建菜单,即Menu的一个实例,便是一个菜单。
Meun类的方法如下:
Menu() 建立一个空标题的菜单
Menu(String s) 建立一个标题为s的菜单
public void add(MenuItem item) 向菜单中添加由参数item指定的菜单项
public MenuItem getItem(int n) 得到指定索引处的菜单项
public int getItemCount() 得到菜单项数目
3.MenuItem
在java.awt包中,负责创建菜单项,即Menu的一个实例,便是一个菜单项。
MenuItem类的方法如下:
MenuItem() 创建无标题菜单项
MenuItem(String s) 构造标题为s的菜单项
public void setEnable(boolean b) 设置当前菜单项是否可被选择
public String getLabel() 得到菜单项的名字
4.有关菜单的几个技巧
(1)增加菜单项分隔线
要在菜单项之间增加分隔线。只需使用Menu类中的addSeparator()方法
如下:
menu1.add("新建");//menu1是Menu的一个实例
menu1.addSeparator();//在新建和保存之间添加分隔线
menu1.add("保存");
menu1.add("打印");
(2)复选框菜单项
如果想在选择一个菜单项时出现对号标记,可以用CheckboxMenuItem类来创建这个菜单项
如:
item1=new CheckboxMenuItem("新建");
(3)嵌入子菜单
Menu不仅可以添加MenuItem对象,也可以添加Menu对象,被添加的菜单叫子菜单
5.窗口和屏幕
Toolkit类(抽象类,其不能直接用构造方法创建,java运行环境中提供了,可用getToolkit()方法引用)
有如下方法:Dimension getScreenSize();
返回的Dimension对象中的width的值是屏幕的宽,heigt的值是屏幕的高
实练任务:创建一个带菜单的窗口,窗口的宽和屏幕的宽相同,高是屏幕高的一半
如下代码:
import java.awt.*; class FirstWindow extends Frame { MenuBar menubar; Menu menu; MenuItem item1,item2; FirstWindow(String s){ setTitle(s); Toolkit tool=getToolkit(); Dimension dim=tool.getScreenSize(); setBounds(0,0,dim.width,dim.height/2); menubar=new MenuBar(); menu=new Menu("文件"); item1=new MenuItem("打开"); item2=new MenuItem("保存"); menu.add(item1); menu.add(item2); menubar.add(menu); setMenuBar(menubar); setVisible(true); } } public class Example1 { public static void main(String[] args){ new FirstWindow("这是一个带菜单的窗口"); } }