- 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 class
Choice.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 方法 描述 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(Class<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
菜单中的选定项目设置为名称等于指定字符串的项目。-
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()
返回在此选项上注册的所有项目侦听器的数组。- 结果
-
所有这个选择的
ItemListener
s或一个空数组,如果没有项目监听器当前注册 - 从以下版本开始:
- 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
-
-