- java.lang.Object
-
- java.awt.Component
-
- java.awt.Choice
-
- 实现的所有接口
-
ImageObserver
,ItemSelectable
,MenuContainer
,Serializable
,Accessible
public class Choiceextends Componentimplements 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 class
Choice.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()
创建一个新的选择菜单。
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 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>
T[]getListeners(类<T> listenerType)
在此Choice
返回当前注册为FooListener
s的所有对象的数组。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
菜单上发生的项目事件,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, 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
@Deprecatedpublic 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
返回当前注册为FooListener
s的所有对象的数组。FooListener
s使用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
-
-