AWT CheckboxMenuItem类

1 什么是Java AWT CheckboxMenuItem

CheckboxMenuItem 类表示可以包含在菜单中的复选框。选中菜单中的复选框会将控件的状态从on更改为off或从off更改为on。

2 Java AWT CheckboxMenuItem的语法

public class CheckboxMenuItem
   extends MenuItem
      implements ItemSelectable, Accessible

3 Java AWT CheckboxMenuItem的构造方法

构造方法 描述
CheckboxMenuItem() 创建一个带有空标签的复选框菜单项。
CheckboxMenuItem(label) 创建具有指定标签的复选框菜单项。
CheckboxMenuItem(label, boolean state) 创建具有指定标签和状态的复选框菜单项。

4 Java AWT CheckboxMenuItem的方法

方法 描述
void addItemListener(ItemListener l) 添加指定的项侦听器以从此复选框菜单项接收项事件。
void addNotify() 创建复选框项的对等项。
AccessibleContext getAccessibleContext() 获取与此 CheckboxMenuItem 关联的 AccessibleContext。
ItemListener[] getItemListeners() 返回在此复选框菜单项上注册的所有项侦听器的数组。
<T extends EventListener> T[] getListeners(Class<T> listenerType) 返回当前在此 CheckboxMenuItem 上注册为 FooListeners 的所有对象的数组。
Object[] getSelectedObjects() 返回包含复选框菜单项标签的数组(长度为 1),如果未选中复选框,则返回 null。
boolean getState() 确定此复选框菜单项的状态是“开”还是“关”。
param() 返回表示此 CheckBoxMenuItem 状态的 。
protected void processEvent(AWTEvent e) 处理此复选框菜单项上的事件。
protected void processItemEvent(ItemEvent e) 处理发生在此复选框菜单项上的项事件,方法是将它们分派到任何已注册的 ItemListener 对象。
void removeItemListener(ItemListener l) 移除指定的项侦听器,使其不再从此复选框菜单项接收项事件。
void setState(boolean b) 将此复选框菜单项设置为指定状态。

5 Java AWT CheckboxMenuItem的例子

让我们看一个简单的Java AWT CheckboxMenuItem类示例。

package com.yiidian;

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

public class AWTMenuDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AWTMenuDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AWTMenuDemo  awtMenuDemo = new AWTMenuDemo();     
      awtMenuDemo.showMenuDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("一点教程网:Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showMenuDemo(){
      //create a menu bar
      final MenuBar menuBar = new MenuBar();

      //create menus
      Menu fileMenu = new Menu("File");
      Menu editMenu = new Menu("Edit"); 
      final Menu aboutMenu = new Menu("About");

      //create menu items
      MenuItem newMenuItem = 
         new MenuItem("New",new MenuShortcut(KeyEvent.VK_N));
      newMenuItem.setActionCommand("New");

      MenuItem openMenuItem = new MenuItem("Open");
      openMenuItem.setActionCommand("Open");

      MenuItem saveMenuItem = new MenuItem("Save");
      saveMenuItem.setActionCommand("Save");

      MenuItem exitMenuItem = new MenuItem("Exit");
      exitMenuItem.setActionCommand("Exit");

      MenuItem cutMenuItem = new MenuItem("Cut");
      cutMenuItem.setActionCommand("Cut");

      MenuItem copyMenuItem = new MenuItem("Copy");
      copyMenuItem.setActionCommand("Copy");

      MenuItem pasteMenuItem = new MenuItem("Paste");
      pasteMenuItem.setActionCommand("Paste");
   
      MenuItemListener menuItemListener = new MenuItemListener();

      newMenuItem.addActionListener(menuItemListener);
      openMenuItem.addActionListener(menuItemListener);
      saveMenuItem.addActionListener(menuItemListener);
      exitMenuItem.addActionListener(menuItemListener);
      cutMenuItem.addActionListener(menuItemListener);
      copyMenuItem.addActionListener(menuItemListener);
      pasteMenuItem.addActionListener(menuItemListener);

      final CheckboxMenuItem showWindowMenu = 
         new CheckboxMenuItem("Show About", true);
      showWindowMenu.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            if(showWindowMenu.getState()){
               menuBar.add(aboutMenu);
            }else{
               menuBar.remove(aboutMenu);
            }
         }
      });

      //add menu items to menus
      fileMenu.add(newMenuItem);
      fileMenu.add(openMenuItem);
      fileMenu.add(saveMenuItem);
      fileMenu.addSeparator();
      fileMenu.add(showWindowMenu);
      fileMenu.addSeparator();
      fileMenu.add(exitMenuItem);

      editMenu.add(cutMenuItem);
      editMenu.add(copyMenuItem);
      editMenu.add(pasteMenuItem);

      //add menu to menubar
      menuBar.add(fileMenu);
      menuBar.add(editMenu);
      menuBar.add(aboutMenu);

      //add menubar to the frame
      mainFrame.setMenuBar(menuBar);
      mainFrame.setVisible(true);  
   }

   class MenuItemListener implements ActionListener {
      public void actionPerformed(ActionEvent e) {            
         statusLabel.setText(e.getActionCommand() 
            + " MenuItem clicked.");
      }    
   }
}

输出结果为:

热门文章

优秀文章