java学习:AWT组件和事件处理的笔记,1--菜单条,菜单,菜单项

菜单放在菜单条里,菜单项放在菜单里

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("这是一个带菜单的窗口");
    }
}