位置:首頁 > Java技術 > AWT > AWT CheckboxMenuItem類

AWT CheckboxMenuItem類

CheckboxMenuItem的類代表一個複選框,可以包含在一個菜單。選中該複選框菜單更改控製的狀態中,從開到關或從關閉到開。

類的聲明

以下是聲明的java.awt.CheckboxMenuItem類:

public class CheckboxMenuItem
   extends MenuItem
      implements ItemSelectable, Accessible

類的構造函數

S.N. 構造函數與說明
1 CheckboxMenuItem() 
Create a check box menu item with an empty label.
2 CheckboxMenuItem(String label) 
Create a check box menu item with the specified label.
3 CheckboxMenuItem(String label, boolean state) 
Create a check box menu item with the specified label and state.

類方法

S.N. 方法和說明
1 void addItemListener(ItemListener l) 
Adds the specified item listener to receive item events from this check box menu item.
2 void addNotify() 
Creates the peer of the checkbox item.
3 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this CheckboxMenuItem.
4 ItemListener[] getItemListeners() 
Returns an array of all the item listeners registered on this checkbox menuitem.
5 <T extends EventListener> T[] getListeners(Class<T> listenerType) 
Returns an array of all the objects currently registered as FooListeners upon this CheckboxMenuItem.
6 Object[] getSelectedObjects() 
Returns the an array (length 1) containing the checkbox menu item label or null if the checkbox is not selected.
7 boolean getState() 
Determines whether the state of this check box menu item is "on" or "off."
8 String paramString() 
Returns a string representing the state of this CheckBoxMenuItem.
9 protected void processEvent(AWTEvent e) 
Processes events on this check box menu item.
10 protected void processItemEvent(ItemEvent e) 
Processes item events occurring on this check box menu item by dispatching them to any registered ItemListener objects.
11 void removeItemListener(ItemListener l) 
Removes the specified item listener so that it no longer receives item events from this check box menu item.
12 void setState(boolean b) 
Sets this check box menu item to the specifed state.

繼承的方法

這個類繼承的方法從以下類:

  • java.awt.MenuItem

  • java.awt.MenuComponent

  • java.lang.Object

CheckboxMenuItem 實例

選擇使用任何編輯器創建以下java程序 D:/ > AWT > com > yiibai > gui >

AWTMenuDemo.java
package com.yiibai.gui;

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.");
      }    
   }
}

編譯程序,使用命令提示符。進入到D:/> AWT,然後鍵入以下命令。

D:AWT>javac comyiibaiguiAWTMenuDemo.java

如果冇有錯誤出現,這意味著編譯成功。使用下麵的命令來運行程序。

D:AWT>java com.yiibai.gui.AWTMenuDemo

驗證下麵的輸出。 (點擊文件菜單中取消選擇“Show About”菜單項。)

AWT CheckboxMenuItem