- java.lang.Object
-
- java.awt.Component
-
- java.awt.Choice
-
- All Implemented Interfaces:
-
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()由这些限制的约束。 本地GUIChoice组件的大小通常受到包含在Choice的项目的字体大小和长度等属性的Choice。- 从以下版本开始:
- 1.0
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected classChoice.AccessibleAWTChoice这个类实现Choice类的可访问性支持。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 Constructor 描述 Choice()创建一个新的选择菜单。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 voidadd(String item)在Choice菜单中添加项目。voidaddItem(String item)作为Java 2平台v1.1的过时。voidaddItemListener(ItemListener l)添加指定的项目监听器以从此Choice菜单接收项目事件。voidaddNotify()创建Choice的同伴。intcountItems()已过时。从JDK 1.1版开始,由getItemCount()替换。AccessibleContextgetAccessibleContext()获取AccessibleContext与此Choice相关联。StringgetItem(int index)获取此Choice菜单中指定索引处的字符串。intgetItemCount()返回此Choice菜单中的项目数。ItemListener[]getItemListeners()返回在此选项上注册的所有项目侦听器的数组。<T extends EventListener>
T[]getListeners(Class<T> listenerType)返回当前注册为FooListener的所有对象的数组,此Choice。intgetSelectedIndex()返回当前所选项目的索引。StringgetSelectedItem()获取当前选择的表示形式作为字符串。Object[]getSelectedObjects()返回一个包含当前所选项目的数组(长度1)。voidinsert(String item, int index)在指定位置将项目插入此选项。protected StringparamString()返回表示此Choice菜单状态的字符串。protected voidprocessEvent(AWTEvent e)处理此选择的事件。protected voidprocessItemEvent(ItemEvent e)通过将它们发送到任何已注册的ItemListener对象来处理在此Choice菜单上发生的项目事件。voidremove(int position)从指定位置的选择菜单中删除一个项目。voidremove(String item)从Choice菜单中删除item的第一次出现。voidremoveAll()从选择菜单中删除所有项目。voidremoveItemListener(ItemListener l)删除指定的项目监听器,使其不再从此Choice菜单中接收项目事件。voidselect(int pos)将此Choice菜单中的选定项目设置为指定位置的项目。voidselect(String str)将此Choice菜单中的选定项目设置为名称等于指定字符串的项目。-
Methods inherited from class 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
-
-
-
-
构造方法详细信息
-
Choice
public Choice() throws HeadlessException创建一个新的选择菜单。 菜单最初没有任何项目。默认情况下,添加到选择菜单的第一个项目成为所选项目,直到通过调用其中一个
select方法进行用户进行的其他选择。- 异常
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true - 另请参见:
-
GraphicsEnvironment.isHeadless(),select(int),select(java.lang.String)
-
-
方法详细信息
-
addNotify
public void addNotify()
创建Choice的同行。 该对等体允许我们改变Choice的外观,而不改变其功能。- 重写:
-
addNotify在Component - 另请参见:
-
Component.getToolkit()
-
getItemCount
public int getItemCount()
返回此Choice菜单中的项目数。- 结果
-
此
Choice菜单中的项目数 - 从以下版本开始:
- 1.1
- 另请参见:
-
getItem(int)
-
countItems
@Deprecated public int countItems()
已过时。 截至JDK 1.1版,由getItemCount()替代。返回此Choice菜单中的项目数。- 结果
-
此
Choice菜单中的项目数
-
getItem
public String getItem(int index)
获取此Choice菜单中指定索引处的字符串。- 参数
-
index- 开始的索引 - 结果
- 指定索引处的项目
- 另请参见:
-
getItemCount()
-
add
public void add(String item)
添加一个项目到这个Choice菜单。- 参数
-
item- 要添加的项目 - 异常
-
NullPointerException- 如果项目的值是null - 从以下版本开始:
- 1.1
-
addItem
public void addItem(String item)
作为Java 2平台v1.1的过时。 请改用add方法。添加一个项目到这个
Choice菜单。- 参数
-
item- 要添加的项目 - 异常
-
NullPointerException- 如果项目的值等于null
-
insert
public void insert(String item, int index)
在指定位置将项目插入此选项。 索引大于或等于index现有项目index移一个以适应新项目。 如果index大于或等于此选项中的项目数,item在此选项的末尾添加item。如果项目是添加到选项中的第一个项目,则该项目将被选中。 否则,如果所选项目是移动的项目之一,则选择中的第一个项目将成为所选项目。 如果所选项目在移动的项目中为否,则仍保留所选项目。
- 参数
-
item- 要插入的非null项目 -
index- 应该插入物品的位置 - 异常
-
IllegalArgumentException- 如果索引小于0
-
remove
public void remove(String item)
从Choice菜单中删除第一次出现的item。 如果要删除的项目是当前选择的项目,则选择中的第一个项目将成为所选项目。 否则,当前选择的项目仍然保持选择(并且相应地更新所选择的索引)。- 参数
-
item- 从这个Choice菜单中删除的项目 - 异常
-
IllegalArgumentException- 如果项目不存在于选择菜单中 - 从以下版本开始:
- 1.1
-
remove
public void remove(int position)
从指定位置的选择菜单中删除一个项目。 如果要删除的项目是当前选择的项目,则选择中的第一个项目将成为所选项目。 否则,当前选择的项目仍然保持选择(并且相应地更新所选择的索引)。- 参数
-
position- 项目的位置 - 异常
-
IndexOutOfBoundsException- 如果指定的位置超出范围 - 从以下版本开始:
- 1.1
-
removeAll
public void removeAll()
从选择菜单中删除所有项目。- 从以下版本开始:
- 1.1
- 另请参见:
-
remove(java.lang.String)
-
getSelectedItem
public String getSelectedItem()
获取当前选择的表示形式作为字符串。- 结果
- 此选择菜单中当前选定项目的字符串表示形式
- 另请参见:
-
getSelectedIndex()
-
getSelectedObjects
public Object[] getSelectedObjects()
返回一个包含当前所选项目的数组(长度1)。 如果此选项没有任何项目,则返回null。- Specified by:
-
getSelectedObjects在接口ItemSelectable - 结果
-
所选对象的列表,或
null - 另请参见:
-
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 Threading Issues 。
- Specified by:
-
addItemListener在接口ItemSelectable - 参数
-
l- 项目监听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
removeItemListener(java.awt.event.ItemListener),getItemListeners(),select(int),ItemEvent,ItemListener
-
removeItemListener
public void removeItemListener(ItemListener l)
删除指定的项目监听器,使其不再从此Choice菜单中接收项目事件。 如果l为null,则不会抛出异常,也不会执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- Specified by:
-
removeItemListener在接口ItemSelectable - 参数
-
l- 项目侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
addItemListener(java.awt.event.ItemListener),getItemListeners(),ItemEvent,ItemListener
-
getItemListeners
public ItemListener[] getItemListeners()
返回在此选项上注册的所有项目侦听器的数组。- 结果
-
所有这个选择的
ItemListeners或一个空数组,如果没有项目监听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addItemListener(java.awt.event.ItemListener),removeItemListener(java.awt.event.ItemListener),ItemEvent,ItemListener
-
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回当前注册为FooListener的所有对象的数组,这个Choice。FooListener使用addFooListener注册。您可以使用类文字指定
listenerType参数,如FooListener.class。 例如,您可以使用以下代码查询Choice c的项目监听器:ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));如果没有这样的侦听器存在,这个方法返回一个空数组。- 重写:
-
getListeners在Component - 参数类型
-
T- 听众的类型 - 参数
-
listenerType- 所请求的听众的类型; 该参数应指定从java.util.EventListener下降的接口 - 结果
-
在此选项上注册为
FooListener的所有对象的数组,如果没有添加此类侦听器,则为空数组 - 异常
-
ClassCastException- 如果listenerType没有指定实现java.util.EventListener的类或接口 - 从以下版本开始:
- 1.3
- 另请参见:
-
getItemListeners()
-
processEvent
protected void processEvent(AWTEvent e)
处理此选择的事件。 如果事件是ItemEvent的实例,则调用processItemEvent方法。 否则,它调用其超类的processEvent方法。请注意,如果事件参数为
null则行为未指定,可能会导致异常。- 重写:
-
processEvent类Component - 参数
-
e- 事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
ItemEvent,processItemEvent(java.awt.event.ItemEvent)
-
processItemEvent
protected void processItemEvent(ItemEvent e)
通过将其发送到任何已注册的ItemListener对象来处理此Choice菜单上发生的项目事件。除非为此组件启用项目事件,否则不会调用此方法。 当以下情况发生时,项目事件被启用:
- 通过
addItemListener注册ItemListener对象。 - 项目事件通过
enableEvents启用。
请注意,如果事件参数为
null则行为未指定,并可能导致异常。- 参数
-
e- 项目事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
ItemEvent,ItemListener,addItemListener(ItemListener),Component.enableEvents(long)
- 通过
-
paramString
protected String paramString()
返回表示此Choice菜单状态的字符串。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null。- 重写:
-
paramString在Component - 结果
-
这个
Choice菜单的参数字符串
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取AccessibleContext与此Choice相关联。 为Choice元件,AccessibleContext需要一个的形式AccessibleAWTChoice。 如有必要,将创建一个新的AccessibleAWTChoice实例。- Specified by:
-
getAccessibleContext在接口Accessible - 重写:
-
getAccessibleContext在Component - 结果
-
一个
AccessibleAWTChoice,作为AccessibleContext的这个Choice - 从以下版本开始:
- 1.3
-
-