|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
public class Container
一般的 Abstract Window Toolkit(AWT) 容器对象是一个可包含其他 AWT 组件的组件。
添加到容器中的组件放在一个列表中。列表的顺序将定义组件在容器内的正向堆栈顺序。如果将组件添加到容器中时未指定索引,则该索引将被添加到列表尾部(此后它位于堆栈顺序的底部)。
注:关于焦点子系统的细节信息,请参阅《The Java Tutorial》中 How to Use the Focus Subsystem 一节,要获得更多的信息,请参阅 Focus Specification。
add(java.awt.Component, int),
getComponent(int),
LayoutManager,
序列化表格| 嵌套类摘要 | |
|---|---|
protected class |
Container.AccessibleAWTContainer
用于对可访问性提供默认支持的 Container 内部类。 |
| 从类 java.awt.Component 继承的嵌套类/接口 |
|---|
Component.AccessibleAWTComponent, 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 |
| 构造方法摘要 | |
|---|---|
Container()
构造一个新的 Container。 |
|
| 方法摘要 | ||
|---|---|---|
Component |
add(Component comp)
将指定组件追加到此容器的尾部。 |
|
Component |
add(Component comp,
int index)
将指定组件添加到此容器的给定位置上。 |
|
void |
add(Component comp,
Object constraints)
将指定的组件添加到此容器的尾部。 |
|
void |
add(Component comp,
Object constraints,
int index)
使用指定约束 (Constraints),将指定组件添加到此容器的指定索引所在的位置上。 |
|
Component |
add(String name,
Component comp)
将指定组件添加到此容器中。 |
|
void |
addContainerListener(ContainerListener l)
添加指定容器的侦听器,以接收来自此容器的容器事件。 |
|
protected void |
addImpl(Component comp,
Object constraints,
int index)
将指定组件添加到此容器的指定索引所在的位置上。 |
|
void |
addNotify()
通过将这个 Container 连接到本机屏幕资源,使其可以显示。 |
|
void |
addPropertyChangeListener(PropertyChangeListener listener)
将一个 PropertyChangeListener 添加到侦听器列表中。 |
|
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
将一个 PropertyChangeListener 添加到某个指定属性的侦听器列表中。 |
|
void |
applyComponentOrientation(ComponentOrientation o)
设置此容器和其中包含的所有组件的 ComponentOrientation 属性。 |
|
boolean |
areFocusTraversalKeysSet(int id)
返回是否已经为此 Container 明确定义了用于给定焦点遍历操作的焦点遍历键的 Set。 |
|
int |
countComponents()
已过时。 从 JDK version 1.1 开始,用 etComponentCount() 取代。 |
|
void |
deliverEvent(Event e)
已过时。 从 JDK version 1.1 开始,用 dispatchEvent(AWTEvent e) 取代 |
|
void |
doLayout()
使此容器布置其组件。 |
|
Component |
findComponentAt(int x,
int y)
对包含指定位置的可视子组件进行定位。 |
|
Component |
findComponentAt(Point p)
对包含指定点的可视子组件进行定位。 |
|
float |
getAlignmentX()
返回沿 x 轴的对齐方式。 |
|
float |
getAlignmentY()
返回沿 y 轴的对齐方式。 |
|
Component |
getComponent(int n)
获得此容器中的第 n 个组件。 |
|
Component |
getComponentAt(int x,
int y)
对包含 x,y 位置的组件进行定位。 |
|
Component |
getComponentAt(Point p)
获得包含指定点的组件。 |
|
int |
getComponentCount()
获得此面板中的组件数。 |
|
Component[] |
getComponents()
获得此容器中的所有组件。 |
|
int |
getComponentZOrder(Component comp)
返回容器内组件的 z 顺序索引。 |
|
ContainerListener[] |
getContainerListeners()
返回已在此容器上注册的所有容器侦听器的数组。 |
|
Set<AWTKeyStroke> |
getFocusTraversalKeys(int id)
为此 Container 的给定遍历操作返回焦点遍历键的 Set。 |
|
FocusTraversalPolicy |
getFocusTraversalPolicy()
返回焦点遍历策略,用于管理此 Container 子组件的键盘遍历。 |
|
Insets |
getInsets()
确定此容器的 insets,它指示容器边界 (border) 的大小。 |
|
LayoutManager |
getLayout()
获得此容器的布局管理器。 |
|
|
getListeners(Class<T> listenerType)
返回已在此 Container 上注册为 FooListener 的所有对象的数组。 |
|
Dimension |
getMaximumSize()
返回此容器的最大大小。 |
|
Dimension |
getMinimumSize()
返回此容器的最小大小。 |
|
Point |
getMousePosition(boolean allowChildren)
如果 Container 位于鼠标指针下,则返回鼠标指针在此 Container 的坐标中的位置,否则返回 null。 |
|
Dimension |
getPreferredSize()
返回此容器的首选大小。 |
|
Insets |
insets()
已过时。 从 JDK version 1.1 开始,用 getInsets() 取代。 |
|
void |
invalidate()
使容器失效。 |
|
boolean |
isAncestorOf(Component c)
检查该组件是否包含在此容器的组件层次结构中。 |
|
boolean |
isFocusCycleRoot()
返回此 Container 是否是某个焦点遍历循环的根。 |
|
boolean |
isFocusCycleRoot(Container container)
返回指定的 Container 是否是此 Container 的焦点遍历循环的焦点循环根。 |
|
boolean |
isFocusTraversalPolicyProvider()
返回此容器是否提供焦点遍历策略。 |
|
boolean |
isFocusTraversalPolicySet()
返回是否为此 Container 明确设置焦点遍历策略。 |
|
void |
layout()
已过时。 从 JDK version 1.1,用 doLayout() 取代。 |
|
void |
list(PrintStream out,
int indent)
将此容器的清单打印到指定输出流。 |
|
void |
list(PrintWriter out,
int indent)
将一个列表打印到指定打印编写器,从指定缩进位置开始。 |
|
Component |
locate(int x,
int y)
已过时。 从 JDK version 1.1 开始,用 getComponentAt(int, int) 取代。 |
|
Dimension |
minimumSize()
已过时。 从 JDK version 1.1 开始,用 getMinimumSize() 取代。 |
|
void |
paint(Graphics g)
绘制容器。 |
|
void |
paintComponents(Graphics g)
绘制此容器中的每个组件。 |
|
protected String |
paramString()
返回表示此 Container 的状态的字符串。 |
|
Dimension |
preferredSize()
已过时。 从 JDK version 1.1 开始,用 getPreferredSize() 取代。 |
|
void |
print(Graphics g)
打印容器。 |
|
void |
printComponents(Graphics g)
打印此容器中的每个组件。 |
|
protected void |
processContainerEvent(ContainerEvent e)
通过将发生在此容器上的容器事件指派给所有已注册的 ContainerListener 对象来处理这些事件。 |
|
protected void |
processEvent(AWTEvent e)
处理关于此容器的事件。 |
|
void |
remove(Component comp)
从此容器中移除指定组件。 |
|
void |
remove(int index)
从此容器中移除 index 指定的组件。 |
|
void |
removeAll()
从此容器中移除所有组件。 |
|
void |
removeContainerListener(ContainerListener l)
移除指定容器的侦听器,从而不再接收来自此容器的容器事件。 |
|
void |
removeNotify()
通过移除此 Container 到其本机屏幕资源的连接,使其不可显示。 |
|
void |
setComponentZOrder(Component comp,
int index)
将指定组件移动到容器中指定的 z 顺序索引。 |
|
void |
setFocusCycleRoot(boolean focusCycleRoot)
设置此 Container 是否是某个焦点遍历循环的根。 |
|
void |
setFocusTraversalKeys(int id,
Set<? extends AWTKeyStroke> keystrokes)
为此 Container 的给定遍历操作设置焦点遍历键。 |
|
void |
setFocusTraversalPolicy(FocusTraversalPolicy policy)
设置将管理此 Container 的子代的键盘遍历的焦点遍历策略,如果此 Container 是一个焦点循环根。 |
|
void |
setFocusTraversalPolicyProvider(boolean provider)
设置是否将用此容器提供焦点遍历策略。 |
|
void |
setFont(Font f)
设置此容器的字体。 |
|
void |
setLayout(LayoutManager mgr)
设置此容器的布局管理器。 |
|
void |
transferFocusBackward()
将焦点转移到前一个组件,就好像此 Component 曾是焦点所有者。 |
|
void |
transferFocusDownCycle()
将焦点向下传输一个焦点遍历循环。 |
|
void |
update(Graphics g)
更新容器。 |
|
void |
validate()
验证此容器及其所有子组件。 |
|
protected void |
validateTree()
递归继承容器树,对于所有被标记为需要重新计算布局的子树(标记为无效的那些子树)重新计算布局。 |
|
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 构造方法详细信息 |
|---|
public Container()
| 方法详细信息 |
|---|
public int getComponentCount()
getComponent(int)@Deprecated public int countComponents()
public Component getComponent(int n)
n - 要获得的组件的索引。
ArrayIndexOutOfBoundsException - 如果 nth 值不存在。public Component[] getComponents()
public Insets getInsets()
例如,Frame 对象有一个顶端 inset,它对应于 Frame(窗体)的标题栏的高度。
Insets,
LayoutManager@Deprecated public Insets insets()
getInsets() 取代。
public Component add(Component comp)
addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。
注:如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。
comp - 要添加的组件
addImpl(java.awt.Component, java.lang.Object, int),
validate(),
JComponent.revalidate()
public Component add(String name,
Component comp)
addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。
从 JDK version 1.1 开始,此方法已过时。请使用 add(Component, Object) 方法代替。
add(Component, Object)
public Component add(Component comp,
int index)
addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。
注:如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。
comp - 要添加的组件index - 插入组件的位置,-1 表示将组件追加到尾部
compaddImpl(java.awt.Component, java.lang.Object, int),
remove(int),
validate(),
JComponent.revalidate()
public final void setComponentZOrder(Component comp,
int index)
如果组件是其他某个 container 的子组件,则在将它添加到此容器之前,从该容器中移除它。此方法与 java.awt.Container.add(Component, int) 之间的重要不同是,在将组件从其以前的容器中移除时,此方法不对该组件调用 removeNotify,除非有此必要,并且基础本机窗口系统允许这样做。因此,如果组件拥有键盘焦点,那么在移动到新的位置上时,它会维持该焦点。
要保证此属性只应用于轻量级的非 Container 组件。
注:并不是所有的平台都支持在不调用 removeNotify 的情况下,将重量级组件的 z 顺序从一个容器更改到另一个容器中。无法检测某个平台是否支持这一点,因此开发人员不应该作出任何假设。
comp - 要移动的组件index - 在容器的列表中插入组件的位置,其中 getComponentCount() 指追加到尾部
NullPointerException - 如果 comp 为 null
IllegalArgumentException - 如果 comp 是该容器的父容器之一
IllegalArgumentException - 如果在容器间移动的 index 不在 [0, getComponentCount()] 范围内,或者在容器内移动的索引不在 [0, getComponentCount()-1] 范围内
IllegalArgumentException - 如果将一个容器添加给其自身
IllegalArgumentException - 如果将 Window 添加到容器中getComponentZOrder(java.awt.Component)public final int getComponentZOrder(Component comp)
comp - 正查询的组件
null 或者不属于该容器,则返回 -1setComponentZOrder(java.awt.Component, int)
public void add(Component comp,
Object constraints)
addImpl(java.awt.Component, java.lang.Object, int) 来说,这是一种便捷的方法。
注:如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。
comp - 要添加的组件constraints - 表示此组件的布局约束的对象addImpl(java.awt.Component, java.lang.Object, int),
validate(),
JComponent.revalidate(),
LayoutManager
public void add(Component comp,
Object constraints,
int index)
addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。
注:如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。
comp - 要添加的组件constraints - 表示此组件的布局约束的对象index - 容器列表中插入组件的位置;-1 表示将组件插入尾部addImpl(java.awt.Component, java.lang.Object, int),
validate(),
JComponent.revalidate(),
remove(int),
LayoutManager
protected void addImpl(Component comp,
Object constraints,
int index)
addLayoutComponent 方法,使用指定的约束对象将组件添加到此容器的布局中。
这些约束是由正使用的特定布局管理器定义的。例如,BorderLayout 类定义了五个约束:BorderLayout.NORTH、BorderLayout.SOUTH、BorderLayout.EAST、BorderLayout.WEST 和 BorderLayout.CENTER。
GridBagLayout 类需要一个 GridBagConstraints 对象。如果传递正确的约束对象类型时失败,则会导致 IllegalArgumentException。
如果布局管理器既实现了 LayoutManager 接口又实现了 LayoutManager2 接口,则调用 LayoutManager2 方法。
注意,如果组件已经存在于此容器或其子容器中,那么在将组件添加到此容器之前,要从该容器中移除它。
在其他所有添加方法引用此方法时,如果某个程序需要追踪每个添加到容器的请求,那么这就是要重写的方法。被重写的方法通常应该包括一个对该方法的父类版本的调用:
super.addImpl(comp, constraints, index)
comp - 要添加的组件constraints - 表示此组件的布局限制的对象容器列表中插入组件的位置;其中 - -1 表示将组件追加到尾部
IllegalArgumentException - 如果 index 无效
IllegalArgumentException - 如果将容器的父容器添加到该容器
IllegalArgumentException - 如果已经多次将 comp 添加到 Container
IllegalArgumentException - 如果将窗口添加到容器中add(Component),
add(Component, int),
add(Component, java.lang.Object),
LayoutManager,
LayoutManager2public void remove(int index)
index 指定的组件。此方法还通知布局管理器,通过 removeLayoutComponent 方法从此容器的布局中移除该组件。
index - 要移除组件的索引add(java.awt.Component)public void remove(Component comp)
removeLayoutComponent 方法从此容器的布局中移除该组件。
comp - 要移除的组件add(java.awt.Component),
remove(int)public void removeAll()
removeLayoutComponent 方法从此容器的布局中移除这些组件。
add(java.awt.Component),
remove(int)public LayoutManager getLayout()
doLayout(),
setLayout(java.awt.LayoutManager)public void setLayout(LayoutManager mgr)
mgr - 指定的布局管理器doLayout(),
getLayout()public void doLayout()
validate 方法。
Component 中的 doLayoutLayoutManager.layoutContainer(java.awt.Container),
setLayout(java.awt.LayoutManager),
validate()@Deprecated public void layout()
doLayout() 取代。
Component 中的 layoutpublic void invalidate()
Component 中的 invalidatevalidate(),
layout(),
LayoutManagerpublic void validate()
使用 validate 方法会使容器再次布置其子组件。已经布置容器后,在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法。
Component 中的 validateadd(java.awt.Component),
Component.invalidate(),
JComponent.revalidate()protected void validateTree()
validate) 提供。
public void setFont(Font f)
Component 中的 setFontf - 将成为此容器的字体的字体。Component.getFont()public Dimension getPreferredSize()
Component 中的 getPreferredSizeDimension 的一个实例,它表示了此容器首选大小。getMinimumSize(),
getLayout(),
LayoutManager.preferredLayoutSize(Container),
Component.getPreferredSize()@Deprecated public Dimension preferredSize()
getPreferredSize() 取代。
Component 中的 preferredSizepublic Dimension getMinimumSize()
Component 中的 getMinimumSizeDimension 的一个实例,它表示了此容器最小大小。getPreferredSize(),
getLayout(),
LayoutManager.minimumLayoutSize(Container),
Component.getMinimumSize()@Deprecated public Dimension minimumSize()
getMinimumSize() 取代。
Component 中的 minimumSizepublic Dimension getMaximumSize()
Component 中的 getMaximumSizegetPreferredSize()public float getAlignmentX()
Component 中的 getAlignmentXpublic float getAlignmentY()
Component 中的 getAlignmentYpublic void paint(Graphics g)
Component 中的 paintg - 指定的 Graphics 窗口Component.update(Graphics)public void update(Graphics g)
Component 中的 updateg - 指定的 Graphics 窗口Component.update(Graphics)public void print(Graphics g)
Component 中的 printg - 指定的 Graphics 窗口Component.update(Graphics)public void paintComponents(Graphics g)
g - 图形上下文。Component.paint(java.awt.Graphics),
Component.paintAll(java.awt.Graphics)public void printComponents(Graphics g)
g - 图形上下文。Component.print(java.awt.Graphics),
Component.printAll(java.awt.Graphics)public void addContainerListener(ContainerListener l)
l - 容器侦听器removeContainerListener(java.awt.event.ContainerListener),
getContainerListeners()public void removeContainerListener(ContainerListener l)
l - 容器侦听器addContainerListener(java.awt.event.ContainerListener),
getContainerListeners()public ContainerListener[] getContainerListeners()
ContainerListener,如果没有当前已注册的容器侦听器,则返回一个空数组addContainerListener(java.awt.event.ContainerListener),
removeContainerListener(java.awt.event.ContainerListener)public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Container 上注册为 FooListener 的所有对象的数组。FooListener 是使用 addFooListener 方法注册的。
可以用一个类字面值(比如 FooListener.class)指定 listenerType 参数。例如,可以使用以下代码查询 Container c,以获得该容器的侦听器:
ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));如果不存在这样的侦听器,则此方法将返回一个空数组。
Component 中的 getListenerslistenerType - 所请求侦听器的类型;该参数应该指定一个从 java.util.EventListener 继承的接口
FooListener 的所有对象的数组,如果没有添加这样的侦听器,则返回一个空数组
ClassCastException - 如果 listenerType 没有指定实现 java.util.EventListener 的类或接口getContainerListeners()protected void processEvent(AWTEvent e)
ContainerEvent,那么将调用 processContainerEvent 方法,否则将调用其超类的 processEvent 方法。
注意,如果事件参数为 null,则行为是不确定的,并且可能导致异常。
Component 中的 processEvente - 事件Component.processComponentEvent(java.awt.event.ComponentEvent),
Component.processFocusEvent(java.awt.event.FocusEvent),
Component.processKeyEvent(java.awt.event.KeyEvent),
Component.processMouseEvent(java.awt.event.MouseEvent),
Component.processMouseMotionEvent(java.awt.event.MouseEvent),
Component.processInputMethodEvent(java.awt.event.InputMethodEvent),
Component.processHierarchyEvent(java.awt.event.HierarchyEvent),
Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)protected void processContainerEvent(ContainerEvent e)
addContainerListener 注册 ContainerListener 对象
enableEvents 启用容器事件
注意,如果事件参数为 null,则行为是不确定的,并且可能导致异常。
e - 容器事件Component.enableEvents(long)@Deprecated public void deliverEvent(Event e)
dispatchEvent(AWTEvent e) 取代
Component 中的 deliverEvent
public Component getComponentAt(int x,
int y)
Component 中的 getComponentAtx - x 坐标y - y 坐标
Component.contains(int, int)
@Deprecated
public Component locate(int x,
int y)
getComponentAt(int, int) 取代。
Component 中的 locatepublic Component getComponentAt(Point p)
Component 中的 getComponentAtp - 点。
null。Component.contains(int, int)
public Point getMousePosition(boolean allowChildren)
throws HeadlessException
Container 位于鼠标指针下,则返回鼠标指针在此 Container 的坐标中的位置,否则返回 null。此方法类似于 Component.getMousePosition(),不过它可能还要考虑 Container 的子组件。如果 allowChildren 为 false,仅当鼠标指针直接位于 Container 上方,而不是位于被 Container 的子组件掩盖的那部分上方时,此方法才返回一个非 null 值。如果 allowChildren 为 true,且鼠标指针位于 Container 或其任意子代的上方时,此方法才返回一个非 null 值。
allowChildren - 如果将子组件也考虑进去,则此参数为 true
Component 的鼠标坐标,或者 null
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 trueComponent.getMousePosition()
public Component findComponentAt(int x,
int y)
findComponentAt 方法不同于 getComponentAt 方法,getComponentAt 方法只搜索 Container 的直接子组件;如果包含的组件是一个 Container,则 findComponentAt 方法将搜索子容器,以找到嵌套的组件。
x - x 坐标y - y 坐标
Component.contains(int, int),
getComponentAt(int, int)public Component findComponentAt(Point p)
findComponentAt 方法不同于 getComponentAt 方法,getComponentAt 方法只搜索 Container 的直接子组件;如果包含的组件是一个 Container,则 findComponentAt 方法将搜索子容器,以找到嵌套的组件。
p - 点。
Component.contains(int, int),
getComponentAt(int, int)public void addNotify()
Component 中的 addNotifyComponent.isDisplayable(),
removeNotify()public void removeNotify()
Component 中的 removeNotifyComponent.isDisplayable(),
addNotify()public boolean isAncestorOf(Component c)
c - 组件
true;否则返回 false。protected String paramString()
Container 的状态的字符串。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null。
Component 中的 paramString
public void list(PrintStream out,
int indent)
使用 indent+1 的缩进来打印容器的直接子组件。这些子组件的子组件是在 indent+2 上打印的,依此类推。
Component 中的 listout - 输出流indent - 缩进的空格数Component.list(java.io.PrintStream, int)
public void list(PrintWriter out,
int indent)
使用 indent+1 的缩进来打印容器的直接子组件。这些子组件的子组件是在 indent+2 上打印的,依此类推。
Component 中的 listout - 打印编写器indent - 缩进的空格数Component.list(java.io.PrintWriter, int)
public void setFocusTraversalKeys(int id,
Set<? extends AWTKeyStroke> keystrokes)
Container 的焦点遍历键的默认值与实现相关。Sun 建议特定本机平台的所有实现都使用相同的默认值。对 Windows 和 Unix 的建议列出如下。这些建议用于 Sun AWT 实现中。
| 标识符 | 含义 | 默认值 | |
|---|---|---|---|
| KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS | 普通的转发键盘遍历 | KEY_PRESSED 上的 TAB,KEY_PRESSED 上的 CTRL-TAB | |
| KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS | 普通的反向键盘遍历 | KEY_PRESSED 上的 SHIFT-TAB,KEY_PRESSED 上的 CTRL-SHIFT-TAB | |
| KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS | 向上移动一个焦点遍历循环 | 无 | |
| KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS | 向下移动一个焦点遍历循环 | 无 |
使用 AWTKeyStroke API,客户机代码可以指定在两个特定 KeyEvents(KEY_PRESSED 或 KEY_RELEASED)中的哪一个上进行焦点遍历操作。不管指定的是哪一个 KeyEvent,所有与焦点遍历键相关的 KeyEvent(包括 KEY_TYPED 事件)都将被使用,并且不将它们指派给任何 Container。在将事件映射到焦点遍历操作,或者将同一事件映射到多个默认焦点遍历操作时,指定 KEY_TYPED 事件是一个运行时错误。
如果为 Set 指定 null 值,则此 Container 将继承其父辈的 Set。如果此 Container 的所有祖先都为 Set 指定了 null 值,则使用当前 KeyboardFocusManager 的默认 Set。
Component 中的 setFocusTraversalKeysid - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 或 KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 之一keystrokes - 用于指定操作的 AWTKeyStroke 的 Set
IllegalArgumentException - 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 或 KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 之一;keystroke 中包含 null;keystroke 中的任何 Object 都不是 AWTKeyStroke;任何 keystroke 都表示一个 KEY_TYPED 事件;任何 keystroke 总是映射到此 Container 的另一个焦点遍历操作getFocusTraversalKeys(int),
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS,
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSpublic Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys。)
如果没有为此 Container 明确定义了遍历键的 Set,则返回此 Container 的父 Set。如果没有为此 Container 的任何祖先明确定义 Set,则返回当前 KeyboardFocusManager 的默认 Set。
Component 中的 getFocusTraversalKeysid - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 或 KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 之一
IllegalArgumentException - 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 或 KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 之一setFocusTraversalKeys(int, java.util.Set extends java.awt.AWTKeyStroke>),
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS,
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSpublic boolean areFocusTraversalKeysSet(int id)
false,则此 Container 从一个祖先或当前 KeyboardFocusManager 那里继承 Set。
Component 中的 areFocusTraversalKeysSetid - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 或 KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 之一
true;否则返回 false。
IllegalArgumentException - 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 或 KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 之一public boolean isFocusCycleRoot(Container container)
true。
Component 中的 isFocusCycleRootcontainer - 要测试的 Container
true;否则返回 falseisFocusCycleRoot()public void transferFocusBackward()
Component 复制的描述
Component 中的 transferFocusBackwardComponent.requestFocus()public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
如果此 Container 不是一个焦点循环根,要记得该策略,但直到此 Container 成为焦点循环根,此 Container 或其他任何 Container 才可以使用或继承此策略。
policy - 此 Container 的新的焦点遍历策略getFocusTraversalPolicy(),
setFocusCycleRoot(boolean),
isFocusCycleRoot(java.awt.Container)public FocusTraversalPolicy getFocusTraversalPolicy()
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),
setFocusCycleRoot(boolean),
isFocusCycleRoot(java.awt.Container)public boolean isFocusTraversalPolicySet()
false,则此 Container 将从一个祖先那里继承其焦点遍历策略。
true,否则返回 false。public void setFocusCycleRoot(boolean focusCycleRoot)
指定此 Container 子代的遍历顺序的替代方法是焦点遍历策略提供者。
focusCycleRoot - 指示此 Container 是否是某个焦点遍历循环的根isFocusCycleRoot(),
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),
getFocusTraversalPolicy(),
ContainerOrderFocusTraversalPolicy,
setFocusTraversalPolicyProvider(boolean)public boolean isFocusCycleRoot()
setFocusCycleRoot(boolean),
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),
getFocusTraversalPolicy(),
ContainerOrderFocusTraversalPolicypublic final void setFocusTraversalPolicyProvider(boolean provider)
true 的容器来获取焦点遍历策略,而不是获取最近的焦点循环根的祖先。
provide - 指示是否将用此容器提供焦点遍历策略setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),
getFocusTraversalPolicy(),
isFocusTraversalPolicyProvider()public final boolean isFocusTraversalPolicyProvider()
true,那么在键盘焦点管理器搜索容器层次结构来查找焦点遍历策略,且在其他任何将此属性设置为 true 的容器之前遇到此容器或焦点循环根的时候,将使用其焦点遍历策略,而不是使用焦点循环根的策略。
true,否则返回 falsesetFocusTraversalPolicy(java.awt.FocusTraversalPolicy),
getFocusTraversalPolicy(),
setFocusCycleRoot(boolean),
setFocusTraversalPolicyProvider(boolean)public void transferFocusDownCycle()
Component.requestFocus(),
isFocusCycleRoot(java.awt.Container),
setFocusCycleRoot(boolean)public void applyComponentOrientation(ComponentOrientation o)
ComponentOrientation 属性。
Component 中的 applyComponentOrientationo - 此容器的新组件的方向性和其中包含组件的方向性。
NullPointerException - 如果 orientation 为 null。Component.setComponentOrientation(java.awt.ComponentOrientation),
Component.getComponentOrientation()public void addPropertyChangeListener(PropertyChangeListener listener)
如果 侦听器 为 null,则不会抛出异常,并且不执行任何操作。
Component 中的 addPropertyChangeListenerlistener - 要添加的 PropertyChangeListenerComponent.removePropertyChangeListener(java.beans.PropertyChangeListener),
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
如果侦听器为 null,则不会抛出异常,并且不执行任何操作。
Component 中的 addPropertyChangeListenerpropertyName - 上面列出的属性名称之一listener - 要添加的 PropertyChangeListeneraddPropertyChangeListener(java.beans.PropertyChangeListener),
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。