Java:菜单(Menu)

菜单是图形用户界面的重要组成部分,它通常有两种使用方式:窗口菜单和快捷菜单。下面介绍窗口菜单的创建。
窗口菜单是由菜单条(MenmBar)、 菜单(Memu)、菜单项(Menltem)和复选菜单项CeckoMonultem等组成的。菜单放在菜单条里,菜单项放在菜单里。

(1)菜单条(MenBar)。

Java.awt包中的MenuBar类是负责创建菜单条的,即MenuBar类的一个实例就是一个菜单条。菜单条只能被添加到作为Frame对象中,整个菜单树的根基。
Frame类有一个将菜单条放置到窗口中的方法:
setMenuBar (MenuBar bar)

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

例如:
MenuBar MenuBar1 = new MenuBar()                   //创建菜单条
setMenuBar (MenuBar1)                                              //添加创建菜单条到Frame中

(2)菜单(Menu)。

Menu类负责创建菜单,即Menu类的一个实例就是一个菜单。 无法直接将菜单添加到容器的某位置,也无法使用布局管理器对其加以控制。菜单只能被添加到“菜单容器”菜单条(MenuBar) 中。
例如:
Menu Menu1=new Menu("文件")                                  //创建菜单
menubar . add (Menu1)                                                //添加到菜单条中

(3)菜单项(Menultem)。

MenuItem类是负责创建菜单项的,即MenuItem类的一个实例就是一个菜单项。菜单项必须添加到菜单中。MenuItem是整个“菜单树”中的“叶子节点”。Menultem对象可以添加ActionListener,使其能完成相应的操作,在后面的章节中会学习相关知识。
例如:
MenuItem item1=new MenuItem ("新建")                     //创建菜单项
menul . add (item1)                                                      //添加到菜单中

代码如下:

import java.awt.*;
import java.awt.event.*;
public class MenuDemo {
    Frame fr = new Frame("MenuDemo");
    MenuBar mb = new MenuBar();//以下生成菜单组件对象
    Menu m1 = new Menu("文件");
    MenuItem open = new MenuItem("打开");
    MenuItem close = new MenuItem("关闭");
    MenuItem exit = new MenuItem("退出");

        MenuDemo()
        {
            fr.setSize(350,200);
            m1.add(open);                                                              //将菜单项加入到菜单中
            m1.add(close);
            m1.addSeparator();                                                      //将分隔条加入到菜单中
            m1.add(exit);
            mb.add(m1);                                                                 //将菜单加入到菜单条中
            
            fr.setMenuBar(mb);                                                      //显示菜单条
            fr.setVisible(true);
        }
        public static void main(String args[]) {
            new MenuDemo();
        }
}
运行结果:

 说明:
(1)当希望在菜单项之间添加一条横向的分隔线,把菜单项分为几组时,可以添加分隔线。可以使用下面的方法:
menu1.addSeparator ()或者menul .add("-")


(2)复选菜单项与复选框一样有“选中”和“未选中”两种状态,处于“选中”状态的检测菜单项前面有一个小对号。
CheckboxMenultem Checkbox=new CheckboxMenultem(" ") ;//创建检测菜单项

menul. add (Checkbox) ;//添加到菜单中

猜你喜欢

转载自blog.csdn.net/weixin_44015669/article/details/89605493