public class List extends Component implements ItemSelectable, Accessible
List
组件向用户显示文本项的滚动列表。
可以设置列表,以便用户可以选择一个项目或多个项目。
例如,代码。 。 。
List lst = new List(4, false); lst.add("Mercury"); lst.add("Venus"); lst.add("Earth"); lst.add("JavaSoft"); lst.add("Mars"); lst.add("Jupiter"); lst.add("Saturn"); lst.add("Uranus"); lst.add("Neptune"); lst.add("Pluto"); cnt.add(lst);
其中cnt
是容器,生成以下滚动列表:
如果列表允许多个选择,则单击已选择的项目将取消选择。 在上述示例中,一次只能选择滚动列表中的一个项目,因为创建新的滚动列表时的第二个参数是false
。 如果列表不允许多个选择,则选择一个项目将导致任何其他所选项目被取消选择。
请注意,所示示例中的列表是使用四个可见行创建的。 创建列表后,无法更改可见行数。 创建一个默认的List
四行,以便lst = new List()
相当于list = new List(4, false)
。
从Java 1.1开始,抽象窗口工具包发送List
对象上的所有鼠标,键盘和焦点事件。 (旧的AWT事件模型只保留向后兼容性,不鼓励使用它。)
当用户选择或取消选择项目时,AWT会向列表发送一个ItemEvent
的实例。 当用户双击滚动列表中的项目时,AWT会在项目事件ActionEvent
向列表发送一个ActionEvent
的实例。 当用户按下返回键时,AWT还会生成一个动作事件,同时选择列表中的一个项目。
如果应用程序想要根据用户选择或激活的此列表中的项目执行某些操作,则应根据需要实施ItemListener
或ActionListener
,并注册新的监听器以从此列表接收事件。
对于多选滚动列表,它被认为是使用外部手势(例如单击按钮)来触发动作的更好的用户界面。
ItemEvent
, ItemListener
, ActionEvent
, ActionListener
, Serialized Form
Modifier and Type | Class and Description |
---|---|
protected class |
List.AccessibleAWTList
该类实现对
List 类的辅助功能支持。
|
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 |
---|
List()
创建一个新的滚动列表。
|
List(int rows)
创建一个以指定数量的可见行初始化的新滚动列表。
|
List(int rows, boolean multipleMode)
创建一个初始化的新滚动列表,以显示指定的行数。
|
Modifier and Type | Method and Description |
---|---|
void |
add(String item)
将指定的项目添加到滚动列表的末尾。
|
void |
add(String item, int index)
将指定的项目添加到由索引指示的位置的滚动列表中。
|
void |
addActionListener(ActionListener l)
添加指定的动作侦听器以从此列表接收动作事件。
|
void |
addItem(String item)
已弃用
换成
add(String) 。
|
void |
addItem(String item, int index)
已弃用
换成
add(String, int) 。
|
void |
addItemListener(ItemListener l)
添加指定的项目侦听器以从该列表接收项目事件。
|
void |
addNotify()
创建列表的对等体。
|
boolean |
allowsMultipleSelections()
已弃用
从JDK 1.1版开始,由
isMultipleMode() 。
|
void |
clear()
已弃用
截至JDK 1.1版,由
removeAll() 。
|
int |
countItems()
已弃用
从JDK 1.1版开始,替换为
getItemCount() 。
|
void |
delItem(int position)
已弃用
替换为
remove(String) 和remove(int) 。
|
void |
delItems(int start, int end)
已弃用
从JDK 1.1版开始,未来不会公开使用。
这种方法只能作为一个包私有方法保留。
|
void |
deselect(int index)
取消选择指定索引处的项目。
|
AccessibleContext |
getAccessibleContext()
获取
AccessibleContext 与此相关
List 。
|
ActionListener[] |
getActionListeners()
返回在此列表中注册的所有动作侦听器的数组。
|
String |
getItem(int index)
获取与指定索引关联的项目。
|
int |
getItemCount()
获取列表中的项目数。
|
ItemListener[] |
getItemListeners()
返回在此列表中注册的所有项目侦听器的数组。
|
String[] |
getItems()
获取列表中的项目。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回当前注册为
FooListener 的所有对象的数组,此
List 。
|
Dimension |
getMinimumSize()
确定此滚动列表的最小大小。
|
Dimension |
getMinimumSize(int rows)
获取具有指定行数的列表的最小尺寸。
|
Dimension |
getPreferredSize()
获取此滚动列表的首选大小。
|
Dimension |
getPreferredSize(int rows)
获取具有指定行数的列表的首选尺寸。
|
int |
getRows()
获取此列表中的可见行数。
|
int |
getSelectedIndex()
获取列表中所选项目的索引,
|
int[] |
getSelectedIndexes()
获取列表中选定的索引。
|
String |
getSelectedItem()
获取此滚动列表中选定的项目。
|
String[] |
getSelectedItems()
获取此滚动列表中选定的项目。
|
Object[] |
getSelectedObjects()
在对象数组中获取此滚动列表中选定的项目。
|
int |
getVisibleIndex()
获取最后通过方法
makeVisible 可见的项目的索引。
|
boolean |
isIndexSelected(int index)
确定是否选择了此滚动列表中的指定项目。
|
boolean |
isMultipleMode()
确定此列表是否允许多个选择。
|
boolean |
isSelected(int index)
已弃用
从JDK 1.1版开始,由
isIndexSelected(int) 。
|
void |
makeVisible(int index)
使指定索引处的项目可见。
|
Dimension |
minimumSize()
已弃用
从JDK 1.1版开始,替换为
getMinimumSize() 。
|
Dimension |
minimumSize(int rows)
已弃用
从JDK 1.1版开始,由
getMinimumSize(int) 。
|
protected String |
paramString()
返回表示此滚动列表状态的参数字符串。
|
Dimension |
preferredSize()
已弃用
从JDK 1.1版开始,替换为
getPreferredSize() 。
|
Dimension |
preferredSize(int rows)
已弃用
截至JDK 1.1版,由
getPreferredSize(int) 。
|
protected void |
processActionEvent(ActionEvent e)
通过将此组件发送到任何已注册的
ActionListener 对象来处理此组件上发生的操作事件。
|
protected void |
processEvent(AWTEvent e)
在此滚动列表中处理事件。
|
protected void |
processItemEvent(ItemEvent e)
通过将它们发送到任何已注册的
ItemListener 对象来处理在此列表上发生的项目事件。
|
void |
remove(int position)
从此滚动列表中移除指定位置的项目。
|
void |
remove(String item)
从列表中删除项目的第一次出现。
|
void |
removeActionListener(ActionListener l)
删除指定的动作侦听器,使其不再从此列表中接收到动作事件。
|
void |
removeAll()
从此列表中删除所有项目。
|
void |
removeItemListener(ItemListener l)
删除指定的项目监听器,使其不再从此列表中接收项目事件。
|
void |
removeNotify()
删除此列表的对等体。
|
void |
replaceItem(String newValue, int index)
使用新的字符串替换滚动列表中指定索引处的项目。
|
void |
select(int index)
选择滚动列表中指定索引处的项目。
|
void |
setMultipleMode(boolean b)
设置确定此列表是否允许多个选择的标志。
|
void |
setMultipleSelections(boolean b)
已弃用
从JDK 1.1版开始,替换为
setMultipleMode(boolean) 。
|
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, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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 List() throws HeadlessException
List(0, false)
。
另请注意,列表中的可见行数在创建后不能更改。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public List(int rows) throws HeadlessException
List(rows, false)
。
还要注意,列表中可见行的数量在创建后不能更改。
rows
- 要显示的项目数。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public List(int rows, boolean multipleMode) throws HeadlessException
multipleMode
值为true
,则用户可以从列表中选择多个项目。
如果是false
,则一次只能选择一个项目。
rows
- 要显示的项目数。
multipleMode
- 如果true
,则允许多个选择;
否则,一次只能选择一个项目。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public void addNotify()
public void removeNotify()
public int getItemCount()
getItem(int)
@Deprecated public int countItems()
getItemCount()
。
public String getItem(int index)
index
- 项目的位置
getItemCount()
public String[] getItems()
select(int)
,
deselect(int)
,
isIndexSelected(int)
public void add(String item)
item
- 要添加的项目
@Deprecated public void addItem(String item)
add(String)
。
public void add(String item, int index)
item
- 要添加的项目;
如果此参数为null
则该项目被视为空字符串, ""
index
- 添加项目的位置
@Deprecated public void addItem(String item, int index)
add(String, int)
。
public void replaceItem(String newValue, int index)
newValue
- 用于替换现有项目的新字符串
index
- 要替换的项目的位置
ArrayIndexOutOfBoundsException
- 如果
index
超出范围
public void removeAll()
remove(java.lang.String)
,
delItems(int, int)
@Deprecated public void clear()
removeAll()
。
public void remove(String item)
item
- 要从列表中删除的项目
IllegalArgumentException
- 如果项目不存在列表中
public void remove(int position)
position
- 要删除的项目的索引
ArrayIndexOutOfBoundsException
- 如果
position
小于0或大于
getItemCount()-1
add(String, int)
@Deprecated public void delItem(int position)
remove(String)
和remove(int)
。
public int getSelectedIndex()
-1
。
select(int)
,
deselect(int)
,
isIndexSelected(int)
public int[] getSelectedIndexes()
select(int)
,
deselect(int)
,
isIndexSelected(int)
public String getSelectedItem()
null
。
select(int)
,
deselect(int)
,
isIndexSelected(int)
public String[] getSelectedItems()
select(int)
,
deselect(int)
,
isIndexSelected(int)
public Object[] getSelectedObjects()
getSelectedObjects
在接口
ItemSelectable
Object
的数组, Object
该滚动列表上的所选项目;
如果未选择任何项目,则返回零长度数组。
getSelectedItems()
, ItemSelectable
public void select(int index)
请注意,超出范围参数无效,将导致未指定的行为。
请注意,此方法应主要用于初始选择此组件中的项目。 以编程方式调用此方法不会触发ItemEvent
。 触发ItemEvent
的唯一方法是通过用户交互。
index
- 要选择的项目的位置
getSelectedItem()
,
deselect(int)
,
isIndexSelected(int)
public void deselect(int index)
请注意,超出范围参数无效,将导致未指定的行为。
如果未选择指定索引处的项目,则忽略该操作。
index
- 要取消选择的项目的位置
select(int)
,
getSelectedItem()
,
isIndexSelected(int)
public boolean isIndexSelected(int index)
index
- 要检查的项目
true
如果指定的项目已被选中;
false
否则
select(int)
,
deselect(int)
@Deprecated public boolean isSelected(int index)
isIndexSelected(int)
。
public int getRows()
List
,这个数字就永远不会改变。
public boolean isMultipleMode()
true
如果此列表允许多个选择;
否则, false
setMultipleMode(boolean)
@Deprecated public boolean allowsMultipleSelections()
isMultipleMode()
。
public void setMultipleMode(boolean b)
b
- 如果true
然后允许多个选择;
否则,只能从列表中选择一个项目
isMultipleMode()
@Deprecated public void setMultipleSelections(boolean b)
setMultipleMode(boolean)
。
public int getVisibleIndex()
makeVisible
可见的项目的索引。
makeVisible(int)
public void makeVisible(int index)
index
- 项目的位置
getVisibleIndex()
public Dimension getPreferredSize(int rows)
rows
- 列表中的行数
Component.getPreferredSize()
@Deprecated public Dimension preferredSize(int rows)
getPreferredSize(int)
。
public Dimension getPreferredSize()
getPreferredSize
在
Component
Component.getPreferredSize()
@Deprecated public Dimension preferredSize()
getPreferredSize()
。
preferredSize
在
Component
public Dimension getMinimumSize(int rows)
rows
- 列表中的行数
Component.getMinimumSize()
@Deprecated public Dimension minimumSize(int rows)
getMinimumSize(int)
。
public Dimension getMinimumSize()
getMinimumSize
在类别
Component
Component.getMinimumSize()
@Deprecated public Dimension minimumSize()
getMinimumSize()
。
minimumSize
在
Component
public void addItemListener(ItemListener l)
select
或deselect
。
如果监听器l
为null
,则不会抛出异常,并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
addItemListener
在界面
ItemSelectable
l
- 项目监听器
removeItemListener(java.awt.event.ItemListener)
, getItemListeners()
, select(int)
, deselect(int)
, ItemEvent
, ItemListener
public void removeItemListener(ItemListener l)
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 void addActionListener(ActionListener l)
如果监听器l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 动作侦听器
removeActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionEvent
, ActionListener
public void removeActionListener(ActionListener l)
l
为null
,则不会抛出异常,并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 动作侦听器
addActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionEvent
, ActionListener
public ActionListener[] getActionListeners()
ActionListener
s或一个空数组,如果没有动作侦听器当前注册
addActionListener(java.awt.event.ActionListener)
, removeActionListener(java.awt.event.ActionListener)
, ActionEvent
, ActionListener
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener
的所有对象的数组,此对象为List
。
FooListener
使用addFooListener
方法注册。
您可以使用类文字指定listenerType
参数,例如FooListener.class
。 例如,您可以使用以下代码查询List
l
其项监听器:
ItemListener[] ils = (ItemListener[])(l.getListeners(ItemListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。
getListeners
在
Component
listenerType
- 所请求的听众的类型;
此参数应指定从java.util.EventListener
下降的java.util.EventListener
FooListener
s的所有对象的数组,如果没有添加此类侦听器,则为空数组
ClassCastException
- 如果
listenerType
未指定实现java.util.EventListener的类或
java.util.EventListener
getItemListeners()
protected void processEvent(AWTEvent e)
ItemEvent
一个实例,它调用processItemEvent
方法。
否则,如果事件是ActionEvent
一个实例,它将调用processActionEvent
。
如果事件不是项目事件或动作事件,它将在processEvent
上调用processEvent。
请注意,如果事件参数为null
则行为未指定,并可能导致异常。
processEvent
在
Component
e
- 事件
ActionEvent
, ItemEvent
, processActionEvent(java.awt.event.ActionEvent)
, processItemEvent(java.awt.event.ItemEvent)
protected void processItemEvent(ItemEvent e)
ItemListener
对象来处理在此列表上发生的项目事件。
除非为此组件启用项目事件,否则不会调用此方法。 当以下情况发生时,项目事件被启用:
ItemListener
对象通过addItemListener
。 enableEvents
启用。 请注意,如果事件参数为null
则该行为未指定,并可能导致异常。
e
- 项目事件
ItemEvent
, ItemListener
, addItemListener(java.awt.event.ItemListener)
, Component.enableEvents(long)
protected void processActionEvent(ActionEvent e)
ActionListener
对象来处理此组件上发生的操作事件。
除非为此组件启用了操作事件,否则不会调用此方法。 当发生以下情况之一时,启用操作事件:
ActionListener
对象通过addActionListener
。 enableEvents
启用操作事件。 请注意,如果事件参数为null
则行为未指定,并可能导致异常。
e
- 动作事件
ActionEvent
, ActionListener
, addActionListener(java.awt.event.ActionListener)
, Component.enableEvents(long)
protected String paramString()
paramString
在
Component
@Deprecated public void delItems(int start, int end)
public AccessibleContext getAccessibleContext()
AccessibleContext
与此相关List
。
对于名单中, AccessibleContext
需要一个形式AccessibleAWTList
。
如果需要,将创建一个新的AccessibleAWTList
实例。
getAccessibleContext
在界面
Accessible
getAccessibleContext
在类别
Component
AccessibleAWTList
,作为这个
AccessibleContext
的
List