JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 CheckboxMenuItem

java.lang.Object
  繼承者 java.awt.MenuComponent
      繼承者 java.awt.MenuItem
          繼承者 java.awt.CheckboxMenuItem
所有已實作的介面:
ItemSelectable, Serializable, Accessible

public class CheckboxMenuItem
extends MenuItem
implements ItemSelectable, Accessible

此類別表示一個可包括在選單中的複選框。選擇選單中的複選框可以將其狀態從 "開" 更改為 "關" 或者從 "關" 更改為 "開"。

下圖描繪了一個套件含 CheckBoxMenuItem 實例的選單:

Examples 選單,包含 Basic、Simple、Check 和 More Examples 項。Check 項是一個 CheckBoxMenuItem 實例,處於關閉狀態。

Check 項顯示了一個處於 "關" 狀態的複選框選單項。

當選定一個複選框選單項時,AWT 將一個項事件發送到該項。因為該事件是 ItemEvent 的一個實例,所以 processEvent 方法檢查該事件,同時將它傳遞給 processItemEvent。後一種方法將該事件重定向到任何為關注此選單項產生的項事件而註冊的 ItemListener 物件。

從以下版本開始:
JDK1.0
另請參見:
ItemEvent, ItemListener, 序列化表格

巢狀類別摘要
protected  class CheckboxMenuItem.AccessibleAWTCheckboxMenuItem
          用來為可存取性提供預設支持的 CheckboxMenuItem 的內部類別。
 
從類別 java.awt.MenuItem 繼承的巢狀類別/介面
MenuItem.AccessibleAWTMenuItem
 
從類別 java.awt.MenuComponent 繼承的巢狀類別/介面
MenuComponent.AccessibleAWTMenuComponent
 
建構子摘要
CheckboxMenuItem()
          創建具有空標籤的複選框選單項。
CheckboxMenuItem(String label)
          創建具有指定標籤的複選框選單項。
CheckboxMenuItem(String label, boolean state)
          創建 具有指定標籤和狀態的複選框選單項。
 
方法摘要
 void addItemListener(ItemListener l)
          添加指定的項偵聽器,以接收發自此複選框選單項的項事件。
 void addNotify()
          創建複選框項的同位體。
 AccessibleContext getAccessibleContext()
          獲取與此 CheckboxMenuItem 相關的 AccessibleContext。
 ItemListener[] getItemListeners()
          返回在此複選框選單項上註冊的所有項偵聽器組成的陣列。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回當前在此 CheckboxMenuItem 上註冊為 FooListener 的所有物件組成的陣列。
 Object[] getSelectedObjects()
          返回一個陣列(長度為 1),它包含複選框選單項的標籤,如果沒有選中複選框,則返回 null。
 boolean getState()
          確定此複選框選單項的狀態是 "開" 還是 "關"。
 String paramString()
          返回表示此 CheckBoxMenuItem 狀態的字元串。
protected  void processEvent(AWTEvent e)
          處理此複選框選單項上的事件。
protected  void processItemEvent(ItemEvent e)
          處理發生在此複選框選單項上的項事件,方法是將這些事件指派給所有已註冊的 ItemListener 物件。
 void removeItemListener(ItemListener l)
          移除指定的項偵聽器,以便它不再接收發自此複選框選單項的項事件。
 void setState(boolean b)
          將此複選框選單項設置為指定的狀態。
 
從類別 java.awt.MenuItem 繼承的方法
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getShortcut, isEnabled, processActionEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
 
從類別 java.awt.MenuComponent 繼承的方法
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

CheckboxMenuItem

public CheckboxMenuItem()
                 throws HeadlessException
創建具有空標籤的複選框選單項。選單項的狀態初始設置為 "關"。

拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
從以下版本開始:
JDK1.1
另請參見:
GraphicsEnvironment.isHeadless()

CheckboxMenuItem

public CheckboxMenuItem(String label)
                 throws HeadlessException
創建具有指定標籤的複選框選單項。選單項的狀態初始設置為 "關"。

參數:
label - 複選框選單項的字元串標籤,對於沒有標籤的選單項,該參數為 null
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另請參見:
GraphicsEnvironment.isHeadless()

CheckboxMenuItem

public CheckboxMenuItem(String label,
                        boolean state)
                 throws HeadlessException
創建 具有指定標籤和狀態的複選框選單項。

參數:
label - 複選框選單項的字元串標籤,對於沒有標籤的選單項,該參數為 null
state - 選單項的最初狀態,其中 true 指示 "開",false 指示 "關"。
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
從以下版本開始:
JDK1.1
另請參見:
GraphicsEnvironment.isHeadless()
方法詳細資訊

addNotify

public void addNotify()
創建複選框項的同位體。此同位體允許更改複選框外觀,而不更改其功能。大多數應用程序並不直接調用此方法。

覆寫:
類別 MenuItem 中的 addNotify
另請參見:
Toolkit.createCheckboxMenuItem(java.awt.CheckboxMenuItem), Component.getToolkit()

getState

public boolean getState()
確定此複選框選單項的狀態是 "開" 還是 "關"。

返回:
複選框選單項的狀態,其中 true 指示 "開",false 指示 "關"
另請參見:
setState(boolean)

setState

public void setState(boolean b)
將此複選框選單項設置為指定的狀態。boolean 值 true 指示 "開",而 false 指示 "關"。

注意,此方法應主要用於初始化複選框選單項的狀態。以程式方式設置複選框選單項的狀態不會 觸發 ItemEvent。觸發 ItemEvent 的唯一方式是通過使用者交互。

參數:
b - 如果複選框選單項處於打開狀態,則該參數為 true,否則為 false
另請參見:
getState()

getSelectedObjects

public Object[] getSelectedObjects()
返回一個陣列(長度為 1),它包含複選框選單項的標籤,如果沒有選中複選框,則返回 null。

指定者:
介面 ItemSelectable 中的 getSelectedObjects
另請參見:
ItemSelectable

addItemListener

public void addItemListener(ItemListener l)
添加指定的項偵聽器,以接收發自此複選框選單項的項事件。發送項事件,以回應使用者動作,但不回應對 setState() 的調用。如果 l 為 null,則不拋出任何異常,也不執行任何動作。有關 AWT 的執行緒模型的細節資訊,請參閱 AWT 執行緒問題

指定者:
介面 ItemSelectable 中的 addItemListener
參數:
l - 項偵聽器
從以下版本開始:
JDK1.1
另請參見:
removeItemListener(java.awt.event.ItemListener), getItemListeners(), setState(boolean), ItemEvent, ItemListener

removeItemListener

public void removeItemListener(ItemListener l)
移除指定的項偵聽器,以便它不再接收發自此複選框選單項的項事件。如果 l 為 null,則不拋出任何異常,也不執行任何動作。有關 AWT 的執行緒模型的細節資訊,請參閱 AWT 執行緒問題

指定者:
介面 ItemSelectable 中的 removeItemListener
參數:
l - 項偵聽器
從以下版本開始:
JDK1.1
另請參見:
addItemListener(java.awt.event.ItemListener), getItemListeners(), ItemEvent, ItemListener

getItemListeners

public ItemListener[] getItemListeners()
返回在此複選框選單項上註冊的所有項偵聽器組成的陣列。

返回:
此複選框選單的所有 ItemListener;如果當前沒有已註冊的項偵聽器,則返回一個空陣列。
從以下版本開始:
1.4
另請參見:
addItemListener(java.awt.event.ItemListener), removeItemListener(java.awt.event.ItemListener), ItemEvent, ItemListener

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回當前在此 CheckboxMenuItem 上註冊為 FooListener 的所有物件組成的陣列。FooListener 是用 addFooListener 方法註冊的。

可以使用 class 文字值(如 FooListener.class)來指定 listenerType 參數。例如,可以通過以下程式碼查詢 CheckboxMenuItem c,以獲得它的項偵聽器:

ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
如果不存在這樣的偵聽器,則此方法將返回一個空陣列。

覆寫:
類別 MenuItem 中的 getListeners
參數:
listenerType - 請求的偵聽器型別;此參數應該指定一個從 java.util.EventListener 繼承的介面
返回:
在此複選框選單上作為 FooListener 註冊的所有物件組成的陣列;如果尚未添加這樣的偵聽器,則返回一個空陣列
拋出:
ClassCastException - 如果 listenerType 未指定一個實作 java.util.EventListener 的類別或介面
從以下版本開始:
1.3
另請參見:
getItemListeners()

processEvent

protected void processEvent(AWTEvent e)
處理此複選框選單項上的事件。如果事件是 ItemEvent 的一個實例,則此方法將調用 processItemEvent 方法。如果事件不是一個項事件,則它將調用父級類別的 processEvent

複選框選單項目前只支持項事件。

注意,如果事件參數為 null,則行為是不確定的,並可能導致一個異常。

覆寫:
類別 MenuItem 中的 processEvent
參數:
e - 事件
從以下版本開始:
JDK1.1
另請參見:
ItemEvent, processItemEvent(java.awt.event.ItemEvent)

processItemEvent

protected void processItemEvent(ItemEvent e)
處理發生在此複選框選單項上的項事件,方法是將這些事件指派給所有已註冊的 ItemListener 物件。

只有此選單項啟用了項事件,才會調用此方法。當出現以下情況時,將啟用項事件:

注意,如果事件參數為 null,則行為是不確定的,並可能導致異常。

參數:
e - 項事件
從以下版本開始:
JDK1.1
另請參見:
ItemEvent, ItemListener, addItemListener(java.awt.event.ItemListener), MenuItem.enableEvents(long)

paramString

public String paramString()
返回表示此 CheckBoxMenuItem 狀態的字元串。此方法僅在進行除錯的時候使用,對於這兩個實作,返回的字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null

覆寫:
類別 MenuItem 中的 paramString
返回:
此複選框選單項的參數字元串

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 CheckboxMenuItem 相關的 AccessibleContext。對於複選框選單來說,AccessibleContext 採用 AccessibleAWTCheckboxMenuItem 的形式。如果必要,可以創建一個新的 AccessibleAWTCheckboxMenuItem。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 MenuItem 中的 getAccessibleContext
返回:
一個 AccessibleAWTCheckboxMenuItem,它充當此 CheckboxMenuItem 的 AccessibleContext
從以下版本開始:
1.3

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only