- 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()由这些限制的约束。 原生GUIChoice组件的大小通常受诸如Choice包含的字体大小和项目长度等属性的Choice。- 从以下版本开始:
- 1.0
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected classChoice.AccessibleAWTChoice此类实现Choice类的可访问性支持。
-
字段汇总
-
声明的属性在类 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
-
-
构造方法摘要
构造方法 构造器 描述 Choice()创建一个新的选择菜单。
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 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(类<T> listenerType)在此Choice返回当前注册为FooListeners的所有对象的数组。intgetSelectedIndex()返回当前所选项的索引。StringgetSelectedItem()获取当前选择的字符串表示形式。Object[]getSelectedObjects()返回包含当前所选项的数组(长度为1)。voidinsert(String item, int index)在指定位置将项目插入此选项。protected StringparamString()返回表示此Choice菜单状态的字符串。protected voidprocessEvent(AWTEvent e)处理此选择的事件。protected voidprocessItemEvent(ItemEvent e)处理此Choice菜单上发生的项目事件,Choice是将它们分派给任何已注册的ItemListener对象。voidremove(int position)从指定位置的选择菜单中删除项目。voidremove(String item)从Choice菜单中删除第一次出现的item。voidremoveAll()从选择菜单中删除所有项目。voidremoveItemListener(ItemListener l)删除指定的项侦听器,以便它不再从此Choice菜单接收项事件。voidselect(int pos)将此Choice菜单中的选定项目设置为指定位置的项目。voidselect(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, 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()
Deprecated.As of JDK version 1.1, replaced bygetItemCount().返回此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- 如果index小于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()
返回在此选项上注册的所有项侦听器的数组。- 结果
-
如果当前没有注册任何项目监听器,则所有这个选项
ItemListener或空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addItemListener(java.awt.event.ItemListener),removeItemListener(java.awt.event.ItemListener),ItemEvent,ItemListener
-
getListeners
public <T extends EventListener> T[] getListeners(类<T> listenerType)
在此Choice返回当前注册为FooListeners的所有对象的数组。FooListeners使用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)
处理此Choice菜单上发生的项目事件,Choice是将它们分派给任何已注册的ItemListener对象。除非为此组件启用了项事件,否则不会调用此方法。 发生以下任一情况时启用项目事件:
-
ItemListener对象是通过addItemListener注册的。 - 项目事件通过
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
-
-