java.lang.Object
java.awt.Component
java.awt.Choice
- 所有已实现的接口:
-
ImageObserver
,ItemSelectable
,MenuContainer
,Serializable
,Accessible
Choice
类提供了一个选择菜单。当前选择将显示为菜单的标题。
以下代码示例生成一个选择菜单:
Choice ColorChooser = new Choice(); ColorChooser.add("Green"); ColorChooser.add("Red"); ColorChooser.add("Blue");
将此选择菜单添加到面板后,它在正常状态下显示如下:
在图片中,"Green"
是当前选择。按下鼠标按钮会导致出现一个菜单,当前选择会被突出显示。
一些本地平台不支持对Choice
组件进行任意调整大小,setSize()/getSize()
的行为受到此类限制的约束。本地GUI Choice
组件的大小通常受到字体大小和Choice
中包含的项目长度等属性的限制。
- 自版本:
- 1.0
- 参见:
-
Nested Class Summary
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
向此Choice
菜单添加一个项目。void
自Java 2平台v1.1起已过时。void
向此Choice
菜单添加指定的项目侦听器以接收项目事件。void
创建Choice
的对等体。int
已过时。获取与此Choice
关联的AccessibleContext
。getItem
(int index) 获取此Choice
菜单中指定索引处的字符串。int
返回此Choice
菜单中的项目数。返回在此选择上注册的所有项目侦听器的数组。<T extends EventListener>
T[]getListeners
(Class<T> listenerType) 返回当前在此Choice
上注册为FooListener
的所有对象的数组。int
返回当前选择项目的索引。获取当前选择作为字符串的表示。Object[]
返回包含当前选择项目的数组(长度为1)。如果此选择没有项目,则返回null
。void
在指定位置将项目插入此选择中。protected String
返回表示此Choice
菜单状态的字符串。protected void
处理此选择上的事件。protected void
通过将其分派给任何注册的ItemListener
对象,处理在此Choice
菜单上发生的项目事件。void
remove
(int position) 在指定位置从选择菜单中删除项目。void
从Choice
菜单中删除item
的第一个出现。void
从选择菜单中删除所有项目。void
删除指定的项目侦听器,使其不再从此Choice
菜单接收项目事件。void
select
(int pos) 将此Choice
菜单中指定位置的项目设置为选定项目。void
将此Choice
菜单中名称等于指定字符串的项目设置为选定项目。Methods declared in 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
-
Constructor Details
-
Choice
创建一个新的选择菜单。菜单最初不包含任何项目。默认情况下,添加到选择菜单的第一个项目将成为选定项目,直到用户通过调用
select
方法进行不同选择。- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()
返回true - 参见:
-
-
Method Details
-
addNotify
public void addNotify()创建Choice
的对等体。此对等体允许我们更改Choice
的外观而不更改其功能。 -
getItemCount
public int getItemCount()返回此Choice
菜单中的项目数。- 返回:
-
此
Choice
菜单中的项目数 - 自版本:
- 1.1
- 参见:
-
countItems
Deprecated.As of JDK version 1.1, replaced bygetItemCount()
.返回此Choice
菜单中的项目数。- 返回:
-
此
Choice
菜单中的项目数
-
getItem
获取此Choice
菜单中指定索引处的字符串。- 参数:
-
index
- 要开始的索引 - 返回:
- 指定索引处的项目
- 参见:
-
add
向此Choice
菜单添加一个项目。- 参数:
-
item
- 要添加的项目 - 抛出:
-
NullPointerException
- 如果项目的值为null
- 自版本:
- 1.1
-
addItem
自Java 2平台v1.1起已过时。请改用add
方法。向此
Choice
菜单添加一个项目。- 参数:
-
item
- 要添加的项目 - 抛出:
-
NullPointerException
- 如果项目的值等于null
-
insert
在指定位置将项目插入此选择中。将大于或等于index
的现有项目向上移动一个位置以容纳新项目。如果index
大于或等于此选择中的项目数,则将item
添加到此选择的末尾。如果项目是添加到选择中的第一个项目,则该项目将成为选定项目。否则,如果选定项目是被移动的项目之一,则选择中的第一个项目将成为选定项目。如果选定项目不是被移动的项目之一,则保持选定项目不变。
- 参数:
-
item
- 要插入的非null
项目 -
index
- 应插入项目的位置 - 抛出:
-
IllegalArgumentException
- 如果索引小于0
-
remove
从Choice
菜单中删除item
的第一个出现。如果要删除的项目是当前选定项目,则选择中的第一个项目将成为选定项目。否则,当前选定项目保持选定(并相应更新选定索引)。- 参数:
-
item
- 要从此Choice
菜单中删除的项目 - 抛出:
-
IllegalArgumentException
- 如果项目在选择菜单中不存在 - 自版本:
- 1.1
-
remove
public void remove(int position) 在指定位置从选择菜单中删除项目。如果要删除的项目是当前选定项目,则选择中的第一个项目将成为选定项目。否则,当前选定项目保持选定(并相应更新选定索引)。- 参数:
-
position
- 项目的位置 - 抛出:
-
IndexOutOfBoundsException
- 如果指定位置超出范围 - 自版本:
- 1.1
-
removeAll
public void removeAll()从选择菜单中删除所有项目。- 自版本:
- 1.1
- 参见:
-
getSelectedItem
获取当前选择的表示作为字符串。- 返回:
- 此选择菜单中当前选定项目的字符串表示
- 参见:
-
getSelectedObjects
返回包含当前选定项目的数组(长度为1)。如果此选择没有项目,则返回null
。- 指定者:
-
getSelectedObjects
在接口ItemSelectable
中 - 返回:
-
选定对象的列表,或
null
- 参见:
-
getSelectedIndex
public int getSelectedIndex()返回当前选定项目的索引。如果没有选定任何内容,则返回-1。- 返回值:
- 当前选定项的索引,如果当前没有选定项则返回-1
- 参见:
-
select
public void select(int pos) 将此Choice
菜单中指定位置的项设置为选定项。请注意,此方法应主要用于最初选择此组件中的项。以编程方式调用此方法将不会触发
ItemEvent
。触发ItemEvent
的唯一方法是用户交互。- 参数:
-
pos
- 选定项的位置 - 抛出:
-
IllegalArgumentException
- 如果指定位置大于项数或小于零 - 参见:
-
select
将此Choice
菜单中名称等于指定字符串的项设置为选定项。如果有多个项与指定字符串匹配(相等),则选择索引最小的项。请注意,此方法应主要用于最初选择此组件中的项。以编程方式调用此方法将不会触发
ItemEvent
。触发ItemEvent
的唯一方法是用户交互。- 参数:
-
str
- 指定的字符串 - 参见:
-
addItemListener
向此Choice
菜单添加指定的项监听器以接收来自该菜单的项事件。项事件是响应用户输入发送的,但不是响应对select
的调用。如果l为null
,则不会抛出异常且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT线程问题。
- 指定者:
-
addItemListener
在接口ItemSelectable
- 参数:
-
l
- 项监听器 - 自1.1起:
- 1.1
- 参见:
-
removeItemListener
- 指定者:
-
removeItemListener
在接口ItemSelectable
- 参数:
-
l
- 项监听器 - 自1.1起:
- 1.1
- 参见:
-
getItemListeners
返回在此选择项上注册的所有项监听器的数组。- 返回值:
-
所有此选择项的
ItemListener
或如果当前没有注册项监听器则返回空数组 - 自1.4起:
- 1.4
- 参见:
-
getListeners
返回当前在此Choice
上注册为FooListener
的所有对象的数组。使用addFooListener
方法注册FooListener
。您可以使用类文字指定
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起:
- 1.3
- 参见:
-
processEvent
处理此选择项上的事件。如果事件是ItemEvent
的实例,则调用processItemEvent
方法。否则,调用其超类的processEvent
方法。请注意,如果事件参数为
null
,则行为是未指定的,可能会导致异常。- 覆盖:
-
processEvent
在类Component
- 参数:
-
e
- 事件 - 自1.1起:
- 1.1
- 参见:
-
processItemEvent
处理在此Choice
菜单上发生的项事件,将其分派给任何注册的ItemListener
对象。除非为此组件启用了项事件,否则不会调用此方法。当发生以下情况之一时,将启用项事件:
- 通过
addItemListener
注册了一个ItemListener
对象。 - 通过
enableEvents
启用了项事件。
请注意,如果事件参数为
null
,则行为是未指定的,可能会导致异常。- 参数:
-
e
- 项事件 - 自1.1起:
- 1.1
- 参见:
- 通过
-
paramString
返回表示此Choice
菜单状态的字符串。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不会是null
。- 覆盖:
-
paramString
在类Component
- 返回值:
-
此
Choice
菜单的参数字符串
-
getAccessibleContext
获取与此Choice
关联的AccessibleContext
。对于Choice
组件,AccessibleContext
采用AccessibleAWTChoice
的形式。如有必要,将创建一个新的AccessibleAWTChoice
实例。- 指定者:
-
getAccessibleContext
在接口Accessible
- 覆盖:
-
getAccessibleContext
在类Component
- 返回值:
-
作为此
Choice
的AccessibleContext
的AccessibleAWTChoice
- 自1.3起:
- 1.3
-
getItemCount()
替换。