public class Choice extends Component implements ItemSelectable, Accessible
Choice课程提供了弹出菜单的选择。
当前选项显示为菜单的标题。
以下代码示例生成一个弹出菜单:
Choice ColorChooser = new Choice();
ColorChooser.add("Green");
ColorChooser.add("Red");
ColorChooser.add("Blue");
将此选择菜单添加到面板后,其正常状态如下所示:

在图片中, "Green"是目前的选择。 在对象上按下鼠标按钮会导致菜单出现,当前选项突出显示。
一些本机平台不支持任意调整Choice组件的大小, Choice的行为setSize()/getSize()限制。 本地GUI Choice组件的大小通常受到诸如字体大小和包含在Choice中的项目的长度等属性的Choice 。
| Modifier and Type | Class and Description |
|---|---|
protected class |
Choice.AccessibleAWTChoice
该类实现对
Choice类的辅助功能支持。
|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategyaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
Choice()
创建一个新的选择菜单。
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(String item)
添加一个项目到这个
Choice菜单。
|
void |
addItem(String item)
作为Java 2平台v1.1的过时。
|
void |
addItemListener(ItemListener l)
添加指定的项目侦听器以从此
Choice菜单中接收项目事件。
|
void |
addNotify()
创建
Choice的同行。
|
int |
countItems()
已弃用
从JDK 1.1版开始,由
getItemCount() 。
|
AccessibleContext |
getAccessibleContext()
获取
AccessibleContext与此相关
Choice 。
|
String |
getItem(int index)
获取此
Choice菜单中指定索引处的字符串。
|
int |
getItemCount()
返回此
Choice菜单中的项目数。
|
ItemListener[] |
getItemListeners()
返回在此选项上注册的所有项目侦听器的数组。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回当前注册为
FooListener的所有对象的数组,在此
Choice 。
|
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)
通过将其发送到任何已注册的
ItemListener对象来处理在此
Choice菜单上发生的项目事件。
|
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菜单中的选定项目设置为名称等于指定字符串的项目。
|
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, revalidate, 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, validatepublic Choice()
throws HeadlessException
默认情况下,添加到选择菜单的第一个项目将成为所选项目,直到通过调用其中一个select方法由用户进行不同的select 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() ,
select(int) ,
select(java.lang.String)
public void addNotify()
Choice的同伴。
这个对等体允许我们改变Choice的外观,而不改变它的功能。
public int getItemCount()
Choice菜单中的项目数。
Choice菜单中的项目数
getItem(int)
@Deprecated public int countItems()
getItemCount() 。
public String getItem(int index)
Choice菜单中指定索引处的字符串。
index - 要开始的索引
getItemCount()
public void add(String item)
Choice菜单中添加一个项目。
item - 要添加的项目
NullPointerException - 如果项目的值是
null
public void addItem(String item)
add方法。
将一个项目添加到此Choice菜单。
item - 要添加的项目
NullPointerException - 如果项目的值等于
null
public void insert(String item, int index)
index现有项目向上移一个以适应新项目。
如果index大于或等于此选项中的项目数量,则在此选项的末尾添加item 。
如果项目是添加到选择项目中的第一个,则项目将被选中。 否则,如果所选项目是移动的项目之一,则选择中的第一个项目将成为所选项目。 如果所选项目在移动的项目中为否,则仍保留所选项目。
item - 要插入的非
null项目
index - 应插入物品的位置
IllegalArgumentException - 如果索引小于0
public void remove(String item)
Choice菜单中删除第一次出现的item 。
如果要删除的项目是当前选择的项目,则选择中的第一个项目将成为所选项目。
否则,当前选择的项目仍然保持选择(并且相应地更新所选择的索引)。
item - 要从此
Choice菜单中删除的项目
IllegalArgumentException - 如果项目不存在于选择菜单中
public void remove(int position)
position - 项目的位置
IndexOutOfBoundsException - 如果指定的位置超出范围
public void removeAll()
remove(java.lang.String)
public String getSelectedItem()
getSelectedIndex()
public Object[] getSelectedObjects()
null 。
getSelectedObjects在界面
ItemSelectable
ItemSelectable
public int getSelectedIndex()
getSelectedItem()
public void select(int pos)
Choice菜单中的选定项目设置为指定位置的项目。
请注意,此方法应主要用于初始选择此组件中的项目。 以编程方式调用此方法不会触发ItemEvent 。 触发ItemEvent的唯一方法是通过用户交互。
pos - 所选项目的位置
IllegalArgumentException - 如果指定的位置大于项目数或小于零
getSelectedItem() ,
getSelectedIndex()
public void select(String str)
Choice菜单中的选定项目设置为名称等于指定字符串的项目。
如果多个项匹配(等于)指定的字符串,则选择具有最小索引的字符串。
请注意,此方法应主要用于初始选择此组件中的项目。 以编程方式调用此方法不会触发ItemEvent 。 触发ItemEvent的唯一方法是通过用户交互。
str - 指定的字符串
getSelectedItem() ,
getSelectedIndex()
public void addItemListener(ItemListener l)
Choice菜单接收项目事件。
项目事件是响应于用户输入而发送的,但不响应对select调用。
如果l为null ,则不会抛出任何异常,也不会执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
addItemListener在界面
ItemSelectable
l - 项目监听器
removeItemListener(java.awt.event.ItemListener) , getItemListeners() , select(int) , ItemEvent , ItemListener
public void removeItemListener(ItemListener l)
Choice菜单中接收项目事件。
如果l为null ,则不会抛出异常,也不会执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
removeItemListener在界面
ItemSelectable
l - 项目侦听器
addItemListener(java.awt.event.ItemListener) , getItemListeners() , ItemEvent , ItemListener
public ItemListener[] getItemListeners()
ItemListener s或一个空数组,如果没有项目监听器当前注册
addItemListener(java.awt.event.ItemListener) , removeItemListener(java.awt.event.ItemListener) , ItemEvent , ItemListener
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener的所有对象的数组,在此Choice 。
FooListener使用addFooListener方法注册。
您可以使用类文字指定listenerType参数,如FooListener.class 。 例如,您可以使用以下代码查询Choice c其项监听器:
ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。
getListeners在类别
Component
listenerType - 所请求的听众的类型;
此参数应指定从java.util.EventListener下降的java.util.EventListener
FooListener的所有对象的数组,如果没有添加这样的侦听器,则为空数组
ClassCastException - 如果
listenerType没有指定实现java.util.EventListener的类或
java.util.EventListener
getItemListeners()
protected void processEvent(AWTEvent e)
ItemEvent一个实例,它调用processItemEvent方法。
否则,它调用其超类的processEvent方法。
请注意,如果事件参数为null该行为是未指定的,可能会导致异常。
processEvent在类别
Component
e - 事件
ItemEvent , processItemEvent(java.awt.event.ItemEvent)
protected void processItemEvent(ItemEvent e)
ItemListener对象来处理此Choice菜单上发生的项目事件。
除非为此组件启用项目事件,否则不会调用此方法。 当以下情况发生时,项目事件被启用:
ItemListener对象通过addItemListener 。 enableEvents启用。 请注意,如果事件参数为null则行为未指定,可能会导致异常。
e - 项目事件
ItemEvent , ItemListener , addItemListener(ItemListener) , Component.enableEvents(long)
protected String paramString()
Choice菜单状态的字符串。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null 。
paramString在类别
Component
Choice菜单的参数字符串
public AccessibleContext getAccessibleContext()
AccessibleContext与此相关Choice 。
为Choice元件, AccessibleContext需要一个的形式AccessibleAWTChoice 。
如有必要,将创建一个新的AccessibleAWTChoice实例。
getAccessibleContext在界面
Accessible
getAccessibleContext在类别
Component
AccessibleAWTChoice ,作为
AccessibleContext的这个
Choice
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.