JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 Choice

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Choice
所有已實作的介面:
ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible

public class Choice
extends Component
implements ItemSelectable, Accessible

Choice 類別表示一個彈出式選擇選單。當前的選擇顯示為選單的標題。

下列程式碼範例產生了一個彈出式選單:


Choice ColorChooser = new Choice();
ColorChooser.add("Green");
ColorChooser.add("Red");
ColorChooser.add("Blue");

在將此選擇選單添加到一個面板中後,它顯示為以下正常狀態:

以下文本描述了該圖形

在這個圖像中,"Green" 為當前選擇。在物件上按下鼠標按鍵,這將顯示一個選單,選單的當前選擇被高亮顯示。

一些本機平臺不支持任意調整 Choice 元件的大小,setSize()/getSize() 的行為受到這類別限制的約束。本機 GUI Choice 元件的大小常受到一些屬性的限制,比如字體大小和 Choice 中包含的項的長度。

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

巢狀類別摘要
protected  class Choice.AccessibleAWTChoice
          此類別實作對 Choice 類別的可存取性支持。
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
 
從類別 java.awt.Component 繼承的欄位
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
Choice()
          創建一個新的選擇選單。
 
方法摘要
 void add(String item)
          將一個項添加到此 Choice 選單中。
 void addItem(String item)
          如果對於 Java 2 platform v1.1 已過時,請使用 add 方法替換。
 void addItemListener(ItemListener l)
          添加指定的項偵聽器,以接收發自此 Choice 選單的項事件。
 void addNotify()
          創建 Choice 的同位體。
 int countItems()
          已過時。 從 JDK version 1.1 開始,由 getItemCount() 取代。
 AccessibleContext getAccessibleContext()
          獲取與此 Choice 相關的 AccessibleContext
 String getItem(int index)
          獲取此 Choice 選單中指定索引上的字元串。
 int getItemCount()
          返回此 Choice 選單中項的數量。
 ItemListener[] getItemListeners()
          返回已在此選擇上註冊的所有項偵聽器組成的陣列。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回目前已在此 Choice 上註冊為 FooListener 的所有物件組成的陣列。
 int getSelectedIndex()
          返回當前選定項的索引。
 String getSelectedItem()
          獲取當前選擇的字元串表示形式。
 Object[] getSelectedObjects()
          返回包含當前選定項的陣列(長度為 1)。
 void insert(String item, int index)
          將選單項插入此選擇的指定位置上。
protected  String paramString()
          返回表示此 Choice 選單的狀態的字元串。
protected  void processEvent(AWTEvent e)
          處理關於此選擇的事件。
protected  void processItemEvent(ItemEvent e)
          處理發生在此 Choice 選單上的項事件,實作方式是將這些事件指派給所有已註冊的 ItemListener 物件。
 void remove(int position)
          從選擇選單的指定位置上移除一個項。
 void remove(String item)
          移除 Choice 選單中第一個出現的 item
 void removeAll()
          從選擇選單中移除所有的項。
 void removeItemListener(ItemListener l)
          移除指定的項偵聽器,以便它不再接收發自此 Choice 選單的項事件。
 void select(int pos)
          將此 Choice 選單中的選定項設置為指定位置上的項。
 void select(String str)
          將此 Choice 選單中的選定項設置為其名稱等於指定字元串的項。
 
從類別 java.awt.Component 繼承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

Choice

public Choice()
       throws HeadlessException
創建一個新的選擇選單。最初,此選單中沒有任何項。

預設情況下,在使用者通過調用 select 方法之一進行不同的選擇之前,給選擇選單添加的第一個項將成為選定項。

拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另請參見:
GraphicsEnvironment.isHeadless(), select(int), select(java.lang.String)
方法詳細資訊

addNotify

public void addNotify()
創建 Choice 的同位體。此同位體允許更改 Choice 的外觀,而不更改其功能。

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

getItemCount

public int getItemCount()
返回此 Choice 選單中項的數量。

返回:
Choice 選單中項的數量
從以下版本開始:
JDK1.1
另請參見:
getItem(int)

countItems

@Deprecated
public int countItems()
已過時。 從 JDK version 1.1 開始,由 getItemCount() 取代。


getItem

public String getItem(int index)
獲取此 Choice 選單中指定索引上的字元串。

參數:
index - 起始索引
另請參見:
getItemCount()

add

public void add(String item)
將一個項添加到此 Choice 選單中。

參數:
item - 要添加的項
拋出:
NullPointerException - 如果這個項的值為 null
從以下版本開始:
JDK1.1

addItem

public void addItem(String item)
如果對於 Java 2 platform v1.1 已過時,請使用 add 方法替換。

將一個項添加到此 Choice 選單中。

參數:
item - 要添加的選單項
拋出:
NullPointerException - 如果這個項的值等於 null

insert

public void insert(String item,
                   int index)
將選單項插入此選擇的指定位置上。如果某個索引上存在的項大於等於 index,則將它上移一位,以容納新的項。如果 index 大於等於此選擇中項的數目,則將 item 添加到此選擇的結尾處。

如果此項是第一個添加到該選擇中的項,則這個項將成為選定項。否則,如果選定項是上移項中的一個,則該選擇中的第一個項將成為選定項。如果選定項不在這些上移項中,則它仍然是選定項。

參數:
item - 將插入的非 null
index - 應該插入項的位置
拋出:
IllegalArgumentException - 如果索引小於 0

remove

public void remove(String item)
移除 Choice 選單中第一個出現的 item。如果正被移除的項是目前選定的項,則該選擇中的第一個項將成為選定項。否則,當前選定項仍然是選定項(並且選定的索引被相應地更新)。

參數:
item - 將從此 Choice 選單中移除的項
拋出:
IllegalArgumentException - 如果該項不在此選擇選單中
從以下版本開始:
JDK1.1

remove

public void remove(int position)
從選擇選單的指定位置上移除一個項。如果正被移除的項是目前選定的項,則該選擇中的第一個項將成為選定項。否則,當前選定項將仍然是選定項(並且選定的索引被相應地更新)。

參數:
position - 項的位置
拋出:
IndexOutOfBoundsException - 如果指定位置超出邊界
從以下版本開始:
JDK1.1

removeAll

public void removeAll()
從選擇選單中移除所有的項。

從以下版本開始:
JDK1.1
另請參見:
remove(java.lang.String)

getSelectedItem

public String getSelectedItem()
獲取當前選擇的字元串表示形式。

返回:
此選擇選單中當前選定項的字元串表示形式
另請參見:
getSelectedIndex()

getSelectedObjects

public Object[] getSelectedObjects()
返回包含當前選定項的陣列(長度為 1)。如果此選擇選單中沒項,則返回 null

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

getSelectedIndex

public int getSelectedIndex()
返回當前選定項的索引。如果沒有選定任何內容,則返回 -1。

返回:
當前選定項的索引,如果目前沒有選定任何內容,則返回 -1
另請參見:
getSelectedItem()

select

public void select(int pos)
將此 Choice 選單中的選定項設置為指定位置上的項。

注意,此方法主要應該用於對此元件中某個項的選擇的初始化。以程式方式調用此方法 會觸發 ItemEvent。觸發 ItemEvent 的唯一方式是通過使用者交互。

參數:
pos - 指定項的位置
拋出:
IllegalArgumentException - 如果指定位置大於項的數量或小於零
另請參見:
getSelectedItem(), getSelectedIndex()

select

public void select(String str)
將此 Choice 選單中的選定項設置為其名稱等於指定字元串的項。如果有多個項與指定的字元串比對(相等),則選擇具有最小索引的那一個項。

注意,此方法主要應該用於初始化對此元件中某個項的選擇。以程式方式調用此方法 會觸發 ItemEvent。觸發 ItemEvent 的唯一方式是通過使用者交互。

參數:
str - 指定的字元串
另請參見:
getSelectedItem(), getSelectedIndex()

addItemListener

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

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

removeItemListener

public void removeItemListener(ItemListener l)
移除指定的項偵聽器,以便它不再接收發自此 Choice 選單的項事件。如果 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)
返回目前已在此 Choice 上註冊為 FooListener 的所有物件組成的陣列。FooListener 是使用 addFooListener 方法註冊的。

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

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

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

processEvent

protected void processEvent(AWTEvent e)
處理關於此選擇的事件。如果事件是 ItemEvent 的一個實例,則此方法將調用 processItemEvent 方法。否則,它將調用其父級類別的 processEvent 方法。

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

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

processItemEvent

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

只有為此元件啟用項事件之後,才調用此方法。項事件是在出現以下情況之一時啟用:

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

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

paramString

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

覆寫:
類別 Component 中的 paramString
返回:
Choice 選單的參數字元串

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 Choice 相關的 AccessibleContext。對於 Choice 元件,AccessibleContext 採用的是 AccessibleAWTChoice 的形式。如有必要,可以創建一個新的 AccessibleAWTChoice 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 Component 中的 getAccessibleContext
返回:
充當此 ChoiceAccessibleContextAccessibleAWTChoice
從以下版本開始:
1.3

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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