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.FlipBufferStrategy
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, 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, validate
public 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