java.lang.Object java.awt.Component java.awt.Choice
public class Choice
Choice
类表示一个弹出式选择菜单。当前的选择显示为菜单的标题。
下列代码示例产生了一个弹出式菜单:
Choice ColorChooser = new Choice(); ColorChooser.add("Green"); ColorChooser.add("Red"); ColorChooser.add("Blue");
在将此选择菜单添加到一个面板中后,它显示为以下正常状态:
在这个图像中,"Green"
为当前选择。在对象上按下鼠标按键,这将显示一个菜单,菜单的当前选择被高亮显示。
一些本机平台不支持任意调整 Choice
组件的大小,setSize()/getSize()
的行为受到这类限制的约束。本机 GUI Choice
组件的大小常受到一些属性的限制,比如字体大小和 Choice
中包含的项的长度。
嵌套类摘要 | |
---|---|
protected class |
Choice.AccessibleAWTChoice 此类实现对 Choice 类的可访问性支持。 |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 |
---|
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
Choice() 创建一个新的选择菜单。 |
方法摘要 | ||
---|---|---|
void |
add(String item) 将一个项添加到此 Choice 菜单中。 |
|
void |
addItem(String item) 如果对于 Java 2 platform v1.1 已过时,请使用 add 方法替换。 |
|
void |
addItemListener(ItemListener l) 添加指定的项侦听器,以接收发自此 Choice 菜单的项事件。 |
|
void |
addNotify() 创建 Choice 的同位体。 |
|
int |
countItems() 已过时。 从 JDK version 1.1 开始,由 getItemCount() 取代。 |
|
AccessibleContext |
getAccessibleContext() 获取与此 Choice 相关的 AccessibleContext 。 |
|
String |
getItem(int index) 获取此 Choice 菜单中指定索引上的字符串。 |
|
int |
getItemCount() 返回此 Choice 菜单中项的数量。 |
|
ItemListener[] |
getItemListeners() 返回已在此选择上注册的所有项侦听器组成的数组。 |
|
|
getListeners(Class<T> listenerType) 返回目前已在此 Choice 上注册为 FooListener 的所有对象组成的数组。 |
|
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 菜单上的项事件,实现方式是将这些事件指派给所有已注册的 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.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public Choice() throws HeadlessException
默认情况下,在用户通过调用 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
。
ItemSelectable
中的
getSelectedObjects
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 的线程模型的细节信息,请参阅
AWT 线程问题。
ItemSelectable
中的
addItemListener
l
- 项侦听器
removeItemListener(java.awt.event.ItemListener)
,
getItemListeners()
,
select(int)
,
ItemEvent
,
ItemListener
public void removeItemListener(ItemListener l)
Choice
菜单的项事件。如果 l 为
null
,则不会抛出异常,并且不执行任何动作。有关 AWT 的线程模型的细节信息,请参阅
AWT 线程问题。
ItemSelectable
中的
removeItemListener
l
- 项侦听器
addItemListener(java.awt.event.ItemListener)
,
getItemListeners()
,
ItemEvent
,
ItemListener
public ItemListener[] getItemListeners()
ItemListener
,如果没有当前已注册的项侦听器,则返回一个空数组
addItemListener(java.awt.event.ItemListener)
,
removeItemListener(java.awt.event.ItemListener)
,
ItemEvent
,
ItemListener
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Choice
上注册为
FooListener
的所有对象组成的数组。
FooListener
是使用
addFooListener
方法注册的。
可以用一个 class 字面值(比如 FooListener.class
)指定 listenerType
参数。例如,可以使用以下代码查询 Choice
c
,以获得它的项侦听器:
ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));如果不存在这样的侦听器,则此方法将返回一个空数组。
Component
中的
getListeners
listenerType
- 所请求侦听器的类型;该参数应该指定一个从
java.util.EventListener
遗传下来的接口
FooListener
的所有对象组成的数组,如果没有添加这样的侦听器,则返回一个空数组
ClassCastException
- 如果
listenerType
没有指定实现
java.util.EventListener
的类或接口
getItemListeners()
protected void processEvent(AWTEvent e)
ItemEvent
的一个实例,则此方法将调用
processItemEvent
方法。否则,它将调用其超类的
processEvent
方法。
注意,如果事件参数为 null
,则行为是不确定的,并且可能导致异常。
Component
中的
processEvent
e
- 事件
ItemEvent
,
processItemEvent(java.awt.event.ItemEvent)
protected void processItemEvent(ItemEvent e)
Choice
菜单上的项事件,实现方式是将这些事件指派给所有已注册的
ItemListener
对象。
只有为此组件启用项事件之后,才调用此方法。项事件是在出现以下情况之一时启用:
ItemListener
对象是通过 addItemListener
注册的。 enableEvents
启用项事件。 注意,如果事件参数为 null
,则行为是不确定的,并且可能导致异常。