📜  AWT菜单类(1)

📅  最后修改于: 2023-12-03 15:29:33.200000             🧑  作者: Mango

AWT菜单类介绍

什么是AWT菜单类?

AWT(Abstract Window Toolkit)是一套Java提供的开发图形用户界面(GUI)的基础类库,其中包含了一些常见的GUI组件,例如文本框、按钮、菜单、对话框等等,AWT菜单类就是其中的一部分。

AWT菜单类提供了一种创建和管理菜单的方式,可以方便地在应用程序中添加菜单和子菜单,以及设置菜单项的事件处理等。

AWT菜单类的常用方法
Menu类
  • public Menu(String label):创建一个带指定标签的新菜单。
  • public MenuBar getParent():返回包含此菜单的菜单栏,如果此菜单不是由菜单栏直接包含,则返回null。
  • public MenuItem add(MenuItem item):将指定菜单项添加到此菜单中。
  • public void addSeparator():在此菜单的末尾添加一个分隔条。
  • public int getItemCount():返回菜单项的数量。
  • public MenuItem getItem(int index):返回指定位置的菜单项。
  • public void setEnabled(boolean b):启用或禁用此菜单及其所有子菜单项。
MenuItem类
  • public MenuItem(String label):创建具有指定标签的新菜单项。
  • public void addActionListener(ActionListener l):添加此菜单项的事件监听器。
  • public boolean isEnabled():检查此菜单项是否启用。
  • public void setEnabled(boolean b):启用或禁用此菜单项。
  • public String getLabel():获取此菜单项的标签。
  • public void setLabel(String label):设置此菜单项的标签。
AWT菜单类示例代码

以下是一个简单的示例代码,演示了如何创建一个菜单和子菜单,并设置菜单项的事件处理。

import java.awt.*;
import java.awt.event.*;

public class MenuExample extends Frame implements ActionListener {
    
    private MenuItem menuItem;
    
    public MenuExample() {
        super("Menu Example");
        MenuBar menuBar = new MenuBar();
        Menu menuFile = new Menu("File");
        Menu menuEdit = new Menu("Edit");
        Menu menuView = new Menu("View");
        menuBar.add(menuFile);
        menuBar.add(menuEdit);
        menuBar.add(menuView);
        
        MenuItem menuItemNew = new MenuItem("New");
        menuItemNew.addActionListener(this);
        menuFile.add(menuItemNew);
        
        MenuItem menuItemSave = new MenuItem("Save");
        menuItemSave.addActionListener(this);
        menuFile.add(menuItemSave);
        
        MenuItem menuItemCopy = new MenuItem("Copy");
        menuItemCopy.addActionListener(this);
        menuEdit.add(menuItemCopy);
        
        MenuItem menuItemCut = new MenuItem("Cut");
        menuItemCut.addActionListener(this);
        menuEdit.add(menuItemCut);
        
        Menu menuZoom = new Menu("Zoom");
        menuView.add(menuZoom);
        
        MenuItem menuItem100 = new MenuItem("100%");
        menuItem100.addActionListener(this);
        menuZoom.add(menuItem100);
        
        MenuItem menuItem200 = new MenuItem("200%");
        menuItem200.addActionListener(this);
        menuZoom.add(menuItem200);
        
        Menu menuHelp = new Menu("Help");
        menuBar.setHelpMenu(menuHelp);
        
        setMenuBar(menuBar);
        
        setSize(300, 300);
        setVisible(true);
        
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent windowEvent){
               System.exit(0);
            }        
        });
    }
    
    public void actionPerformed(ActionEvent e) {
        String command = e.getActionCommand();
        switch (command) {
            case "New":
                System.out.println("New menu item selected");
                break;
            case "Save":
                System.out.println("Save menu item selected");
                break;
            case "Copy":
                System.out.println("Copy menu item selected");
                break;
            case "Cut":
                System.out.println("Cut menu item selected");
                break;
            case "100%":
                System.out.println("Zoom 100% menu item selected");
                break;
            case "200%":
                System.out.println("Zoom 200% menu item selected");
                break;
            default:
                break;
        }
    }
    
    public static void main(String[] args) {
        new MenuExample();
    }
}
总结

AWT菜单类提供了一种创建和管理菜单的方式,使用菜单类可以方便地在应用程序中添加菜单和子菜单,以及设置菜单项的事件处理等。在使用过程中,需要了解常用的方法和属性,以充分发挥其作用。