- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
- 已知直接子类:
-
BasicSplitPaneDivider
,CellRendererPane
,DefaultTreeCellEditor.EditorContainer
,JComponent
,Panel
,ScrollPane
,Window
public class Container extends Component
通用抽象窗口工具包(AWT)容器对象是可以包含其他AWT组件的组件。200新新新新新新旗新新新新旗新新旗新新旗新新旗新新旗新新200新200新新新新新新200架旗新新款: 列表的顺序将在容器内定义组件的前后堆叠顺序。 如果在向容器添加组件时未指定索引,则将其添加到列表的末尾(因此将添加到堆栈顺序的底部)。
注意 :有关焦点子系统的详细信息,请参阅How to Use the Focus Subsystem , “Java教程”中的一节,以及有关详细信息的Focus Specification 。
- 从以下版本开始:
- 1.0
- 另请参见:
-
add(java.awt.Component, int)
,getComponent(int)
,LayoutManager
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
Container.AccessibleAWTContainer
Container的内部类用于为辅助功能提供默认支持。-
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 描述 Container()
构造一个新的容器。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 Component
add(Component comp)
将指定的组件附加到此容器的末尾。Component
add(Component comp, int index)
在给定的位置将指定的组件添加到此容器。void
add(Component comp, Object constraints)
将指定的组件添加到此容器的末尾。void
add(Component comp, Object constraints, int index)
将指定的组件添加到指定索引处的指定约束的容器中。Component
add(String name, Component comp)
将指定的组件添加到此容器。void
addContainerListener(ContainerListener l)
添加指定的容器侦听器以从此容器接收容器事件。protected void
addImpl(Component comp, Object constraints, int index)
在指定的索引处将指定的组件添加到此容器。void
addNotify()
通过将此容器连接到本机屏幕资源来使此容器显示。void
addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener添加到侦听器列表。void
addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
将PropertyChangeListener添加到特定属性的侦听器列表中。void
applyComponentOrientation(ComponentOrientation o)
设置此容器的ComponentOrientation
属性及其中包含的所有组件。boolean
areFocusTraversalKeysSet(int id)
返回是否为此容器显式定义了给定焦点遍历操作的聚焦遍历键集。int
countComponents()
已过时。从JDK 1.1版开始,由getComponentCount()替换。void
deliverEvent(Event e)
已过时。从JDK 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-order索引。ContainerListener[]
getContainerListeners()
返回在此容器上注册的所有容器侦听器的数组。Set<AWTKeyStroke>
getFocusTraversalKeys(int id)
返回此Container的给定遍历操作的聚焦遍历键集。FocusTraversalPolicy
getFocusTraversalPolicy()
返回将管理此Container的子项的键盘遍历的焦点遍历策略,如果此Container不是焦点循环根,则返回null。Insets
getInsets()
确定此容器的插入,这表示容器边框的大小。LayoutManager
getLayout()
获取此容器的布局管理器。<T extends EventListener>
T[]getListeners(Class<T> listenerType)
返回此Container
当前注册为FooListener
的所有对象的数组。Dimension
getMaximumSize()
返回此容器的最大大小。Dimension
getMinimumSize()
返回此容器的最小大小。Point
getMousePosition(boolean allowChildren)
如果Container
位于鼠标指针下方,则返回该Container
的坐标空间中鼠标指针的位置,否则返回null
。Dimension
getPreferredSize()
返回此容器的首选大小。Insets
insets()
已过时。从JDK 1.1版开始,由getInsets()
替代。void
invalidate()
使容器无效。boolean
isAncestorOf(Component c)
检查组件是否包含在此容器的组件层次结构中。boolean
isFocusCycleRoot()
返回此容器是否是焦点遍历循环的根。boolean
isFocusCycleRoot(Container container)
返回指定的Container是否是此Container的焦点遍历循环的焦点循环根。boolean
isFocusTraversalPolicyProvider()
返回此容器是否提供焦点遍历策略。boolean
isFocusTraversalPolicySet()
返回是否为此Container显式设置了重点遍历策略。boolean
isValidateRoot()
指示此容器是否为 验证根 。void
layout()
已过时。从JDK 1.1版开始,由doLayout()
代替。void
list(PrintStream out, int indent)
将此容器的列表打印到指定的输出流。void
list(PrintWriter out, int indent)
从指定的缩进开始列出指定的打印作者的列表。Component
locate(int x, int y)
已过时。从JDK 1.1版开始,由getComponentAt(int, int)
替代。Dimension
minimumSize()
已过时。从JDK 1.1版开始,由getMinimumSize()
替代。void
paint(Graphics g)
涂上容器void
paintComponents(Graphics g)
涂抹此容器中的每个组件。protected String
paramString()
返回表示此Container
的状态的字符串。Dimension
preferredSize()
已过时。从JDK 1.1版开始,由getPreferredSize()
替代。void
print(Graphics g)
打印容器。void
printComponents(Graphics g)
打印此容器中的每个组件。protected void
processContainerEvent(ContainerEvent e)
通过将容器事件发送到任何已注册的ContainerListener对象来处理容器事件。protected void
processEvent(AWTEvent e)
处理此容器上的事件。void
remove(int index)
从此容器中删除由index
指定的组件。void
remove(Component comp)
从此容器中删除指定的组件。void
removeAll()
从此容器中删除所有组件。void
removeContainerListener(ContainerListener l)
删除指定的容器侦听器,使其不再从此容器接收容器事件。void
removeNotify()
通过删除其与其本机屏幕资源的连接,使此容器不可显示。void
setComponentZOrder(Component comp, int index)
将指定的组件移动到容器中指定的z顺序索引。void
setFocusCycleRoot(boolean focusCycleRoot)
设置此容器是否是焦点遍历循环的根。void
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置此容器的给定遍历操作的焦点遍历键。void
setFocusTraversalPolicy(FocusTraversalPolicy policy)
设置焦点遍历策略,将管理此Container的子项的键盘遍历,如果此Container是焦点循环根。void
setFocusTraversalPolicyProvider(boolean provider)
设置此容器是否将用于提供焦点遍历策略。void
setFont(Font f)
设置此容器的字体。void
setLayout(LayoutManager mgr)
设置此容器的布局管理器。void
transferFocusDownCycle()
将焦点转移到一个焦点遍历周期。void
update(Graphics g)
更新容器。void
validate()
验证此容器及其所有子组件。protected void
validateTree()
递归地下降容器树,并重新计算标记为需要的任何子树(标记为无效的)的布局。-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
方法详细信息
-
getComponentCount
public int getComponentCount()
获取此面板中的组件数量。注意:此方法应在AWT树锁下调用。
- 结果
- 该面板中的组件数量。
- 从以下版本开始:
- 1.1
- 另请参见:
-
getComponent(int)
,Component.getTreeLock()
-
countComponents
@Deprecated public int countComponents()
已过时。 从JDK 1.1版开始,由getComponentCount()替换。返回此容器中的组件数。- 结果
- 该容器中的组件数
-
getComponent
public Component getComponent(int n)
获取此容器中的第n个组件。注意:此方法应在AWT树锁下调用。
- 参数
-
n
- 要获取的组件的索引。 - 结果
- 这个容器中的 第 n 个组件。
- 异常
-
ArrayIndexOutOfBoundsException
- 如果第n 个值不存在。 - 另请参见:
-
Component.getTreeLock()
-
getComponents
public Component[] getComponents()
获取此容器中的所有组件。注意:此方法应在AWT树锁下调用。
- 结果
- 这个容器中的所有组件的数组。
- 另请参见:
-
Component.getTreeLock()
-
getInsets
public Insets getInsets()
确定此容器的插入,这表示容器边框的大小。例如,
Frame
对象具有对应于框架的标题栏的高度的顶部插入。- 结果
- 这个容器的插图。
- 从以下版本开始:
- 1.1
- 另请参见:
-
Insets
,LayoutManager
-
insets
@Deprecated public Insets insets()
已过时。 从JDK 1.1版开始,由getInsets()
替代。返回此容器的插入。- 结果
- 这个容器的插图
-
add
public Component add(Component comp)
将指定的组件附加到此容器的末尾。 这是一个方便的方法addImpl(java.awt.Component, java.lang.Object, int)
。该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
- 参数
-
comp
- 要添加的组件 - 结果
- 组件参数
- 异常
-
NullPointerException
- 如果comp
是null
- 另请参见:
-
addImpl(java.awt.Component, java.lang.Object, int)
,invalidate()
,validate()
,JComponent.revalidate()
-
add
public Component add(String name, Component comp)
将指定的组件添加到此容器。 这是一个方便的方法addImpl(java.awt.Component, java.lang.Object, int)
。这种方法从1.1开始就已经过时了。 请改用方法
add(Component, Object)
。该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
- 参数
-
name
- 要添加的组件的名称 -
comp
- 要添加的组件 - 结果
- 添加组件
- 异常
-
NullPointerException
- 如果comp
是null
- 另请参见:
-
add(Component, Object)
,invalidate()
-
add
public Component add(Component comp, int index)
在给定的位置将指定的组件添加到此容器。 这是一个方便的方法addImpl(java.awt.Component, java.lang.Object, int)
。该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
- 参数
-
comp
- 要添加的组件 -
index
- 要插入组件的位置,或-1
将组件附加到最后 - 结果
-
组件
comp
- 异常
-
NullPointerException
- 如果comp
是null
-
IllegalArgumentException
- 如果index
无效(详情请参阅addImpl(java.awt.Component, java.lang.Object, int)
) - 另请参见:
-
addImpl(java.awt.Component, java.lang.Object, int)
,remove(int)
,invalidate()
,validate()
,JComponent.revalidate()
-
setComponentZOrder
public void setComponentZOrder(Component comp, int index)
将指定的组件移动到容器中指定的z顺序索引。 z次序确定组件被绘制的顺序; 首先使用最高z阶涂料的组分,最后使用最低z阶涂料的组分。 在组件重叠的地方,具有较低z阶的组件涂覆在具有较高z阶的组件上。如果组件是某个其他容器的子对象,则在添加到此容器之前将其从该容器中删除。 此方法与
java.awt.Container.add(Component, int)
之间的重要区别在于,该方法不会在组件中调用removeNotify
,同时将其从其先前的容器中删除,除非必要时,以及底层本机窗口系统允许。 这样,如果组件具有键盘焦点,则在移动到新位置时会保持焦点。此属性保证仅适用于轻型非
Container
组件。该方法更改布局相关信息,因此使组件层次结构无效。
注意 :并非所有平台都支持将重量级组件的z顺序从一个容器更改为另一个,而无需调用
removeNotify
。 无法检测平台是否支持此功能,因此开发人员不应作出任何假设。- 参数
-
comp
- 要移动的组件 -
index
- 容器列表中插入组件的位置,其中getComponentCount()
附加到最后 - 异常
-
NullPointerException
- 如果comp
是null
-
IllegalArgumentException
- 如果comp
是容器的父母之一 -
IllegalArgumentException
-如果index
不在范围[0, getComponentCount()]
用于容器之间移动时,或不在范围[0, getComponentCount()-1]
用于容器内部移动 -
IllegalArgumentException
- 如果向其自身添加容器 -
IllegalArgumentException
- 如果将Window
添加到容器中 - 从以下版本开始:
- 1.5
- 另请参见:
-
getComponentZOrder(java.awt.Component)
,invalidate()
-
getComponentZOrder
public int getComponentZOrder(Component comp)
返回容器内组件的z-order索引。 组件在z阶层次中越高,其索引越低。 最后一个z顺序索引最低的组件,最重要的是其他子组件。- 参数
-
comp
- 要查询的组件 - 结果
-
组件的z阶索引;
否则返回-1,如果组件是
null
或不属于容器 - 从以下版本开始:
- 1.5
- 另请参见:
-
setComponentZOrder(java.awt.Component, int)
-
add
public void add(Component comp, Object constraints)
将指定的组件添加到此容器的末尾。 还通知布局管理器使用指定的约束对象将组件添加到此容器的布局中。 这是一个方便的方法addImpl(java.awt.Component, java.lang.Object, int)
。该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
- 参数
-
comp
- 要添加的组件 -
constraints
- 表示此组件的布局约束的对象 - 异常
-
NullPointerException
- 如果comp
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
addImpl(java.awt.Component, java.lang.Object, int)
,invalidate()
,validate()
,JComponent.revalidate()
,LayoutManager
-
add
public void add(Component comp, Object constraints, int index)
将指定的组件添加到指定索引处的指定约束的容器中。 还通知布局管理器使用指定的约束对象将组件添加到此容器的布局。 这是一个方便的方法addImpl(java.awt.Component, java.lang.Object, int)
。该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
- 参数
-
comp
- 要添加的组件 -
constraints
- 一个表示布局约束的对象 -
index
- 容器列表中插入组件的位置;-1
表示在末端组件插入 - 异常
-
NullPointerException
- 如果comp
是null
-
IllegalArgumentException
- 如果index
无效(详情请参阅addImpl(java.awt.Component, java.lang.Object, int)
) - 另请参见:
-
addImpl(java.awt.Component, java.lang.Object, int)
,invalidate()
,validate()
,JComponent.revalidate()
,remove(int)
,LayoutManager
-
addImpl
protected void addImpl(Component comp, Object constraints, int index)
在指定的索引处将指定的组件添加到此容器。 该方法还通过布局管理器通过addLayoutComponent
方法使用指定的约束对象将组件添加到此容器的布局。约束由正在使用的特定布局管理器定义。 例如,
BorderLayout
类定义了五个约束:BorderLayout.NORTH
,BorderLayout.SOUTH
,BorderLayout.EAST
,BorderLayout.WEST
,和BorderLayout.CENTER
。GridBagLayout
类需要一个GridBagConstraints
对象。 未通过正确类型的约束对象会导致一个IllegalArgumentException
。如果当前的布局管理器实现了
LayoutManager2
,那么就调用了LayoutManager2.addLayoutComponent(Component,Object)
。 如果当前的布局管理器不实现LayoutManager2
,并且约束是一个String
,那么它将调用LayoutManager.addLayoutComponent(String,Component)
。如果组件不是此容器的祖先,并且具有非空父项,则在将其添加到此容器之前,它将从其当前父进程中删除。
如果程序需要跟踪每个添加到容器的请求,那么这种方法将会覆盖所有其他添加方法。 一个重写方法通常应该包括调用超类的方法版本:
super.addImpl(comp, constraints, index)
该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
- 参数
-
comp
- 要添加的组件 -
constraints
- 表示此组件的布局约束的对象 -
index
- 容器列表中要插入组件的位置,其中-1
表示附加到最后 - 异常
-
IllegalArgumentException
- 如果index
无效; 如果comp
是此容器的小孩,则有效范围为[-1, getComponentCount()-1]
; 如果组件不是此容器的子级,则有效范围为[-1, getComponentCount()]
-
IllegalArgumentException
- 如果comp
是此容器的祖先 -
IllegalArgumentException
- 如果向容器添加窗口 -
NullPointerException
- 如果comp
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
add(Component)
,add(Component, int)
,add(Component, java.lang.Object)
,invalidate()
,LayoutManager
,LayoutManager2
-
remove
public void remove(int index)
从此容器中删除由index
指定的组件。 此方法还通知布局管理器通过removeLayoutComponent
方法从该容器的布局中删除组件。该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
- 参数
-
index
- 要删除的组件的索引 - 异常
-
ArrayIndexOutOfBoundsException
- 如果index
不在范围[0, getComponentCount()-1]
- 从以下版本开始:
- 1.1
- 另请参见:
-
add(java.awt.Component)
,invalidate()
,validate()
,getComponentCount()
-
remove
public void remove(Component comp)
从此容器中删除指定的组件。 此方法还通知布局管理器通过removeLayoutComponent
方法从该容器的布局中删除组件。该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
- 参数
-
comp
- 要删除的组件 - 异常
-
NullPointerException
- 如果comp
是null
- 另请参见:
-
add(java.awt.Component)
,invalidate()
,validate()
,remove(int)
-
removeAll
public void removeAll()
从此容器中删除所有组件。 此方法还通知布局管理器通过removeLayoutComponent
方法从该容器的布局中删除组件。该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
- 另请参见:
-
add(java.awt.Component)
,remove(int)
,invalidate()
-
getLayout
public LayoutManager getLayout()
获取此容器的布局管理器。- 结果
- 该容器的当前布局管理器
- 另请参见:
-
doLayout()
,setLayout(java.awt.LayoutManager)
-
setLayout
public void setLayout(LayoutManager mgr)
设置此容器的布局管理器。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
mgr
- 指定的布局管理器 - 另请参见:
-
doLayout()
,getLayout()
,invalidate()
-
doLayout
public void doLayout()
使此容器布置其组件。 大多数程序不应该直接调用此方法,而应该调用validate
方法。- 重写:
-
doLayout
中的Component
- 从以下版本开始:
- 1.1
- 另请参见:
-
LayoutManager.layoutContainer(java.awt.Container)
,setLayout(java.awt.LayoutManager)
,validate()
-
layout
@Deprecated public void layout()
已过时。 从JDK 1.1版开始,由doLayout()
替代。
-
isValidateRoot
public boolean isValidateRoot()
指示此容器是否为验证根 。布局相关的更改(例如验证根后代的边界)不会影响验证根父的布局。 当方法遇到有效根时,这种特性使
invalidate()
方法能够停止使组件层次结构无效。 但是,为了保留向后兼容性,只有当java.awt.smartInvalidate
系统属性值设置为true
时,java.awt.smartInvalidate
启用此新的优化行为。如果组件层次结构包含有效的根,并且启用了新的优化的
invalidate()
行为,则必须在先前无效组件的验证根上调用validate()
方法,以便validate()
恢复层次结构的有效性。 否则,应使用顶级容器(如Frame
对象)调用validate()
方法来恢复组件层次结构的有效性。Window
类和Applet
类是AWT中的有效根。 Swing引入更多有效的根。- 结果
- 该容器是否是有效的根
- 从以下版本开始:
- 1.7
- 另请参见:
-
invalidate()
,Component.invalidate()
,JComponent.isValidateRoot()
,JComponent.revalidate()
-
invalidate
public void invalidate()
使容器无效。如果这个容器上安装的
LayoutManager
是LayoutManager2
接口的一个实例,那么LayoutManager2.invalidateLayout(Container)
方法被调用,它提供这个Container
作为参数。之后,此方法标记此容器无效,并使其祖先无效。 有关详细信息,请参阅
Component.invalidate()
方法。- 重写:
-
invalidate
在Component
- 另请参见:
-
validate()
,layout()
,LayoutManager2
-
validate
public void validate()
验证此容器及其所有子组件。验证容器意味着布置其子组件。 与布局相关的更改,例如设置组件的边界,或者向容器添加组件,会自动使容器无效。 请注意,容器的祖先也可能无效(详细信息请参阅
Component.invalidate()
)因此,要恢复层次结构的有效性,应在层次结构的最上层无效容器上调用validate()
方法。验证容器可能是相当耗时的操作。 出于性能原因,开发人员可能推迟层次结构的验证,直到一组布局相关的操作完成,例如在将所有子项添加到容器之后。
如果这个
Container
无效,此方法调用validateTree
方法并将此Container
标记为有效。 否则,不执行任何操作。
-
validateTree
protected void validateTree()
递归地下降容器树,并重新计算标记为需要的任何子树(标记为无效的)的布局。 应该通过调用此方法的方法提供同步:validate
。- 另请参见:
-
doLayout()
,validate()
-
setFont
public void setFont(Font f)
设置此容器的字体。该方法更改布局相关信息,因此使组件层次结构无效。
- 重写:
-
setFont
在Component
- 参数
-
f
- 成为此容器字体的字体。 - 从以下版本开始:
- 1.0
- 另请参见:
-
Component.getFont()
,invalidate()
-
getPreferredSize
public Dimension getPreferredSize()
返回此容器的首选大小。 如果Component.setPreferredSize(Dimension)
没有明确设置首选大小,而此Container
具有non-null
LayoutManager
,则使用LayoutManager.preferredLayoutSize(Container)
计算优选大小。注意:某些实现可以缓存从
LayoutManager
返回的值。 该缓存不需要调用实现preferredLayoutSize
上LayoutManager
每次调用此方法,而时间LayoutManager
后才会进行查询Container
变得无效。- 重写:
-
getPreferredSize
在Component
- 结果
-
表示此容器的首选大小的
Dimension
的实例。 - 另请参见:
-
getMinimumSize()
,getMaximumSize()
,getLayout()
,LayoutManager.preferredLayoutSize(Container)
,Component.getPreferredSize()
-
preferredSize
@Deprecated public Dimension preferredSize()
已过时。 从JDK 1.1版开始,由getPreferredSize()
替代。描述从类复制:Component
返回组件的首选大小。- 重写:
-
preferredSize
在Component
- 结果
- 该组件的首选尺寸
-
getMinimumSize
public Dimension getMinimumSize()
返回此容器的最小大小。 如果Component.setMinimumSize(Dimension)
未明确设定最小尺寸,而Container
具有non-null
LayoutManager
,则LayoutManager.minimumLayoutSize(Container)
用于计算最小尺寸。注意:一些实现可以缓存从
LayoutManager
返回的值。 该缓存不需要调用实现minimumLayoutSize
上LayoutManager
每次调用此方法,而时间LayoutManager
后才会进行查询Container
变得无效。- 重写:
-
getMinimumSize
在Component
- 结果
-
表示此容器的最小大小的
Dimension
的实例。 - 从以下版本开始:
- 1.1
- 另请参见:
-
getPreferredSize()
,getMaximumSize()
,getLayout()
,LayoutManager.minimumLayoutSize(Container)
,Component.getMinimumSize()
-
minimumSize
@Deprecated public Dimension minimumSize()
已过时。 从JDK 1.1版开始,由getMinimumSize()
替代。描述从类复制:Component
返回此组件的最小大小。- 重写:
-
minimumSize
在Component
- 结果
- 该组件的最小尺寸
-
getMaximumSize
public Dimension getMaximumSize()
返回此容器的最大大小。 如果最大尺寸没有被明确设置Component.setMaximumSize(Dimension)
和LayoutManager
安装在此Container
就是一个实例LayoutManager2
,然后LayoutManager2.maximumLayoutSize(Container)
用于计算的最大尺寸。注意:某些实现可以缓存从
LayoutManager2
返回的值。 该缓存不需要调用实现maximumLayoutSize
上LayoutManager2
每次调用此方法,而时间LayoutManager2
后才会进行查询Container
变得无效。- 重写:
-
getMaximumSize
中的Component
- 结果
-
一个表示此容器最大大小的
Dimension
的实例。 - 另请参见:
-
getPreferredSize()
,getMinimumSize()
,getLayout()
,LayoutManager2.maximumLayoutSize(Container)
,Component.getMaximumSize()
-
getAlignmentX
public float getAlignmentX()
返回沿x轴的对齐方式。 这指定了组件如何相对于其他组件进行对齐。 该值应为0到1之间的数字,其中0表示原点对齐,1对齐最远离原点,0.5为中心等。- 重写:
-
getAlignmentX
在Component
- 结果
- 该组件的水平对齐
-
getAlignmentY
public float getAlignmentY()
返回沿着y轴的对齐。 这指定了组件如何相对于其他组件进行对齐。 该值应为0到1之间的数字,其中0表示原点对齐,1对齐最远离原点,0.5为中心等。- 重写:
-
getAlignmentY
在Component
- 结果
- 该组件的垂直对齐
-
paint
public void paint(Graphics g)
涂上容器 这会将油漆转移到任何这个容器的小孩的轻量级组件。 如果重新实现此方法,则应调用super.paint(g),以便轻量级组件正确呈现。 如果一个子组件被当前的剪裁设置(g)全部剪除,那么paint()将不会转发给该小孩。- 重写:
-
paint
在Component
- 参数
-
g
- 指定的图形窗口 - 另请参见:
-
Component.update(Graphics)
-
update
public void update(Graphics g)
更新容器。 这将更新转发给任何作为此容器的子级的轻量级组件。 如果重新实现此方法,则应调用super.update(g),以便正确渲染轻量级组件。 如果子组件被目前的削减设置(g)修剪完毕,则update()不会被转发给该小孩。- 重写:
-
update
在Component
- 参数
-
g
- 指定的图形窗口 - 另请参见:
-
Component.update(Graphics)
-
print
public void print(Graphics g)
打印容器。 这将打印转发到任何这个容器的孩子的轻量级组件。 如果重新实现此方法,则应调用super.print(g),以便正确渲染轻量级组件。 如果子组件完全被g中的剪切设置所限制,则print()将不会转发给该小孩。- 重写:
-
print
在Component
- 参数
-
g
- 指定的图形窗口 - 另请参见:
-
Component.update(Graphics)
-
paintComponents
public void paintComponents(Graphics g)
涂抹此容器中的每个组件。- 参数
-
g
- 图形上下文。 - 另请参见:
-
Component.paint(java.awt.Graphics)
,Component.paintAll(java.awt.Graphics)
-
printComponents
public void printComponents(Graphics g)
打印此容器中的每个组件。- 参数
-
g
- 图形上下文。 - 另请参见:
-
Component.print(java.awt.Graphics)
,Component.printAll(java.awt.Graphics)
-
addContainerListener
public void addContainerListener(ContainerListener l)
- 参数
-
l
- 容器侦听器 - 另请参见:
-
removeContainerListener(java.awt.event.ContainerListener)
,getContainerListeners()
-
removeContainerListener
public void removeContainerListener(ContainerListener l)
- 参数
-
l
- 容器侦听器 - 另请参见:
-
addContainerListener(java.awt.event.ContainerListener)
,getContainerListeners()
-
getContainerListeners
public ContainerListener[] getContainerListeners()
返回在此容器上注册的所有容器侦听器的数组。- 结果
-
所有这个容器的
ContainerListener
s或一个空数组,如果没有容器侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addContainerListener(java.awt.event.ContainerListener)
,removeContainerListener(java.awt.event.ContainerListener)
-
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回当前注册为FooListener
的所有对象的数组,这个Container
。FooListener
使用addFooListener
方法进行注册。您可以使用类文字指定
listenerType
参数,如FooListener.class
。 例如,您可以使用以下代码查询Container c
的容器侦听器:ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。- 重写:
-
getListeners
在Component
- 参数类型
-
T
- 侦听器的类型 - 参数
-
listenerType
- 所请求的侦听器的类型; 此参数应指定从java.util.EventListener
下降的接口 - 结果
-
在此容器上注册为
FooListener
的所有对象的数组,如果没有添加此类侦听器,则为空数组 - 异常
-
ClassCastException
- 如果listenerType
未指定实现java.util.EventListener
的类或接口 -
NullPointerException
- 如果listenerType
是null
- 从以下版本开始:
- 1.3
- 另请参见:
-
getContainerListeners()
-
processEvent
protected void processEvent(AWTEvent e)
处理此容器上的事件。 如果事件是一个ContainerEvent
,它调用processContainerEvent
方法,否则它调用其超类的processEvent
。请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 重写:
-
processEvent
中的Component
- 参数
-
e
- 事件 - 另请参见:
-
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)
-
processContainerEvent
protected void processContainerEvent(ContainerEvent e)
通过将容器事件发送到任何已注册的ContainerListener对象来处理容器事件。 注意:除非为此组件启用容器事件,否则不会调用此方法; 发生以下情况之一时:- ContainerListener对象通过
addContainerListener
注册 - 容器事件通过
enableEvents
启用
请注意,如果事件参数为
null
则行为未指定,并可能导致异常。- 参数
-
e
- 容器事件 - 另请参见:
-
Component.enableEvents(long)
- ContainerListener对象通过
-
deliverEvent
@Deprecated public void deliverEvent(Event e)
已过时。 从JDK 1.1版开始,替换为dispatchEvent(AWTEvent e)
- 重写:
-
deliverEvent
在Component
- 参数
-
e
- 交付事件
-
getComponentAt
public Component getComponentAt(int x, int y)
找到包含x,y位置的组件。 在组件中存在重叠的情况下,返回最顶层的子组件。 这通过找到通过Component.contains()声明包含给定点的索引0最接近的组件来确定,除了具有本机对等体的组件优先于不具有本机对等体的组件(即,轻量级组件)之外。- 重写:
-
getComponentAt
在Component
- 参数
-
x
- x坐标 -
y
- y坐标 - 结果
- 如果组件不包含位置,则为null。 如果请求点没有子组件,并且该点在容器的边界内,则返回容器本身; 否则返回最顶端的孩子。
- 从以下版本开始:
- 1.1
- 另请参见:
-
Component.contains(int, int)
-
locate
@Deprecated public Component locate(int x, int y)
已过时。 从JDK 1.1版开始,由getComponentAt(int, int)
代替。描述从类复制:Component
返回占据指定位置的组件(此组件或直接子组件,如果前两个都不占用该位置,则返回null)。
-
getComponentAt
public Component getComponentAt(Point p)
获取包含指定点的组件。- 重写:
-
getComponentAt
类Component
- 参数
-
p
- 关键。 - 结果
-
返回包含该点的组件,如果组件不包含该点,则返回
null
。 - 从以下版本开始:
- 1.1
- 另请参见:
-
Component.contains(int, int)
-
getMousePosition
public Point getMousePosition(boolean allowChildren) throws HeadlessException
如果Container
在鼠标指针下方,则返回鼠标指针在这个Container
的坐标空间中的Container
,否则返回null
。 该方法类似于Component.getMousePosition()
,但可以考虑Container
的孩子。 如果allowChildren
是false
,则只有当鼠标指针直接位于false
,该方法才会返回非空值,而不是Container
上方的部分上方。 如果allowChildren
是true
,如果鼠标指针高于Container
或其任何后代,则此方法返回非空值。- 参数
-
allowChildren
- 如果孩子应该被考虑,allowChildren
true - 结果
-
相对于此
Component
鼠标坐标,或null - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 从以下版本开始:
- 1.5
- 另请参见:
-
Component.getMousePosition()
-
findComponentAt
public Component findComponentAt(int x, int y)
找到包含指定位置的可见子组件。 在组件中存在重叠的情况下,返回最顶层的子组件。 如果包含子组件是容器,则此方法将继续搜索最深的嵌套子组件。 在搜索过程中忽略不可见的组件。getComponentAt方法与getComponentAt不同,因为getComponentAt只搜索Container的直接子对象; 如果包含的组件是一个Container,那么findComponentAt将搜索该子节点以查找嵌套组件。
- 参数
-
x
- x坐标 -
y
- y坐标 - 结果
- 如果组件不包含位置,则为null。 如果在请求点没有子组件,并且该点在容器的边界内,则返回容器本身。
- 从以下版本开始:
- 1.2
- 另请参见:
-
Component.contains(int, int)
,getComponentAt(int, int)
-
findComponentAt
public Component findComponentAt(Point p)
找到包含指定点的可见子组件。 在组件中存在重叠的情况下,返回最顶层的子组件。 如果包含子组件是容器,则此方法将继续搜索最深的嵌套子组件。 在搜索过程中忽略不可见的组件。getComponentAt方法与getComponentAt不同,因为getComponentAt只搜索Container的直接子对象; 如果包含的组件是一个Container,那么findComponentAt将搜索该子节点以查找嵌套组件。
- 参数
-
p
- 点。 - 结果
- 如果组件不包含位置,则为null。 如果在请求点没有子组件,并且该点在容器的边界内,则返回容器本身。
- 异常
-
NullPointerException
- 如果p
是null
- 从以下版本开始:
- 1.2
- 另请参见:
-
Component.contains(int, int)
,getComponentAt(int, int)
-
addNotify
public void addNotify()
通过将此容器连接到本机屏幕资源来使此容器显示。 使容器显示可以使所有的孩子都可以显示。 该方法由工具包内部调用,不应由程序直接调用。- 重写:
-
addNotify
在Component
- 另请参见:
-
Component.isDisplayable()
,removeNotify()
-
removeNotify
public void removeNotify()
通过删除其与其本机屏幕资源的连接,使此容器不可显示。 使容器不可显示将导致其所有的孩子都变得不可显示。 该方法在内部被工具包调用,不应该被程序直接调用。- 重写:
-
removeNotify
在Component
- 另请参见:
-
Component.isDisplayable()
,addNotify()
-
isAncestorOf
public boolean isAncestorOf(Component c)
检查组件是否包含在此容器的组件层次结构中。- 参数
-
c
- 组件 - 结果
-
true
如果是祖先, 否则为false
。 - 从以下版本开始:
- 1.1
-
paramString
protected String paramString()
返回一个表示Container
状态的字符串。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在Component
- 结果
- 该容器的参数字符串
-
list
public void list(PrintStream out, int indent)
将此容器的列表打印到指定的输出流。 列表从指定的缩进开始。容器的直接儿童印有压痕
indent+1
。 这些孩子的孩子们打印在indent+2
等等。- 重写:
-
list
在Component
- 参数
-
out
- 打印流 -
indent
- 要缩进的空格数 - 异常
-
NullPointerException
- 如果out
是null
- 从以下版本开始:
- 1.0
- 另请参见:
-
Component.list(java.io.PrintStream, int)
-
list
public void list(PrintWriter out, int indent)
从指定的缩进开始列出指定的打印作者的列表。容器的直接子项印有压痕
indent+1
。 这些孩子的孩子打印在indent+2
等等。- 重写:
-
list
中的Component
- 参数
-
out
- 打印作者 -
indent
- 缩进的空格数 - 异常
-
NullPointerException
- 如果out
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
Component.list(java.io.PrintWriter, int)
-
setFocusTraversalKeys
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置此容器的给定遍历操作的焦点遍历键。容器的焦点遍历键的默认值是依赖于实现的。 Sun建议特定本地平台的所有实现使用相同的默认值。 Windows和Unix的建议如下。 这些建议用于Sun AWT实现。
Recommended default values for a Container's focus traversal keys Identifier Meaning Default KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS Normal forward keyboard traversal TAB on KEY_PRESSED, CTRL-TAB on KEY_PRESSED KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS Normal reverse keyboard traversal SHIFT-TAB on KEY_PRESSED, CTRL-SHIFT-TAB on KEY_PRESSED KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS Go up one focus traversal cycle none KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS Go down one focus traversal cycle none使用AWTKeyStroke API,客户端代码可以指定两个特定的KeyEvent,KEY_PRESSED或KEY_RELEASED中的哪一个,焦点遍历操作将发生。 然而,无论指定了哪个KeyEvent,与焦点遍历密钥相关的所有KeyEvent都将被使用,包括关联的KEY_TYPED事件,并且不会被分派到任何Container。 指定一个KEY_TYPED事件作为映射到焦点遍历操作的运行时错误,或将同一事件映射到多个默认焦点遍历操作。
如果为Set指定了null值,则此Container将从其父项继承Set。 如果此容器的所有祖先对于Set指定了空值,则使用当前的KeyboardFocusManager的默认Set。
这个方法可能会抛出一个
ClassCastException
如果Object
中有keystrokes
不是AWTKeyStroke
。- 重写:
-
setFocusTraversalKeys
在Component
- 参数
-
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS或KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS之一 -
keystrokes
- 指定操作的AWTKeyStroke集 - 异常
-
IllegalArgumentException
- 如果id不是KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS中的一个,或者键击包含null,或者如果任何键击代表KEY_TYPED事件,或者如果任何键击已经映射到另一个焦点遍历此容器的操作 - 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusTraversalKeys(int)
,KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
,KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
-
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
返回此Container的给定遍历操作的聚焦遍历键集。 (有关每个键的完整说明,请参阅setFocusTraversalKeys
)如果尚未为此Container显式定义一组遍历键,则返回此Container的父级Set。 如果没有为此Container的任何祖先显式定义Set,则返回当前的KeyboardFocusManager的默认Set。
- 重写:
-
getFocusTraversalKeys
在Component
- 参数
-
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS之一,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS或KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - 结果
- 指定操作的AWTKeyStrokes集。 该集将不可修改,可能为空。 将永远不会返回null。
- 异常
-
IllegalArgumentException
- 如果id不是KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS或KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS中的一个 - 从以下版本开始:
- 1.4
- 另请参见:
-
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_KEYS
-
areFocusTraversalKeysSet
public boolean areFocusTraversalKeysSet(int id)
返回是否为此容器显式定义了给定焦点遍历操作的聚焦遍历键集。 如果此方法返回false
,则此Container将从祖先继承Set,或从当前的KeyboardFocusManager继承。- 重写:
-
areFocusTraversalKeysSet
在Component
- 参数
-
id
- 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中的一个 - 从以下版本开始:
- 1.4
-
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)
返回指定的Container是否是此Container的焦点遍历循环的焦点循环根。 每个焦点遍历循环只有一个焦点循环根,而不是焦点循环根的每个容器只属于单个焦点遍历循环。 作为焦点循环根的容器属于两个循环:一个根据容器本身,一个根据容器最近的聚焦循环根祖先。 在这种情况下,这种方法将返回true
这两个容器。- 重写:
-
isFocusCycleRoot
在Component
- 参数
-
container
- 要测试的容器 - 结果
-
true
如果指定的Container是此Container的焦点true
根; 否则为false
- 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusCycleRoot()
-
setFocusTraversalPolicy
public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
设置焦点遍历策略,将管理此Container的子项的键盘遍历,如果此Container是焦点循环根。 如果参数为null,则此Container将从其focus-cycle-root祖先继承其策略。 如果参数为非空值,则该策略将被所有不具有自己的键盘遍历策略的focus-cycle-root子节点继承(递归地,它们的焦点循环根节点)。如果此容器不是焦点循环根,则策略将被记住,但不会由此或任何其他容器使用或继承,直到此容器成为焦点循环根。
- 参数
-
policy
- 此容器的新焦点遍历策略 - 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusTraversalPolicy()
,setFocusCycleRoot(boolean)
,isFocusCycleRoot(java.awt.Container)
-
getFocusTraversalPolicy
public FocusTraversalPolicy getFocusTraversalPolicy()
返回将管理此Container的子项的键盘遍历的焦点遍历策略,如果此Container不是焦点循环根,则返回null。 如果没有为此Container显式设置遍历策略,则返回此Container的focus-cycle-root祖先的策略。- 结果
- 此容器的焦点遍历策略,如果此Container不是焦点循环根,则为null。
- 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,setFocusCycleRoot(boolean)
,isFocusCycleRoot(java.awt.Container)
-
isFocusTraversalPolicySet
public boolean isFocusTraversalPolicySet()
返回是否为此Container显式设置了重点遍历策略。 如果此方法返回false
,则此Container将从祖先继承其焦点遍历策略。- 结果
-
true
如果已经为此Container显式设置了焦点遍历策略;false
否则。 - 从以下版本开始:
- 1.4
-
setFocusCycleRoot
public void setFocusCycleRoot(boolean focusCycleRoot)
设置此容器是否是焦点遍历循环的根。 一旦焦点进入遍历循环,通常不能通过焦点遍历离开它,除非按下了上下循环键之一。 正常遍历仅限于此Container,并且所有这些Container的后代不是下焦点循环根的后代。 请注意,FocusTraversalPolicy可能会弯曲这些限制。 例如,ContainerOrderFocusTraversalPolicy支持隐式的下循环遍历。指定此Container的子进程的遍历顺序的另一种方法是使此Container为focus traversal policy provider 。
- 参数
-
focusCycleRoot
- 指示此容器是否是焦点遍历循环的根 - 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusCycleRoot()
,setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,getFocusTraversalPolicy()
,ContainerOrderFocusTraversalPolicy
,setFocusTraversalPolicyProvider(boolean)
-
isFocusCycleRoot
public boolean isFocusCycleRoot()
返回此容器是否是焦点遍历循环的根。 一旦焦点进入遍历循环,通常不能通过焦点遍历离开它,除非按下了上下循环键之一。 正常遍历仅限于此Container,并且所有这些Container的后代不是下焦点循环根的后代。 请注意,FocusTraversalPolicy可能会弯曲这些限制。 例如,ContainerOrderFocusTraversalPolicy支持隐式的下循环遍历。- 结果
- 这个容器是否是焦点遍历循环的根
- 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusCycleRoot(boolean)
,setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,getFocusTraversalPolicy()
,ContainerOrderFocusTraversalPolicy
-
setFocusTraversalPolicyProvider
public final void setFocusTraversalPolicyProvider(boolean provider)
设置此容器是否将用于提供焦点遍历策略。 将使用此属性为true
容器来获取焦点遍历策略,而不是最近的焦点循环根祖先。- 参数
-
provider
- 指示此容器是否将用于提供焦点遍历策略 - 从以下版本开始:
- 1.5
- 另请参见:
-
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,getFocusTraversalPolicy()
,isFocusTraversalPolicyProvider()
-
isFocusTraversalPolicyProvider
public final boolean isFocusTraversalPolicyProvider()
返回此容器是否提供焦点遍历策略。 如果此属性设置为true
那么当键盘焦点管理器搜索容器层次结构以进行焦点遍历策略,并且在此属性为true或焦点循环根的任何其他容器之前遇到此容器时,将使用其焦点遍历策略而不是焦点循环根策略。- 结果
-
true
如果此容器提供焦点遍历策略,否则为false
- 从以下版本开始:
- 1.5
- 另请参见:
-
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,getFocusTraversalPolicy()
,setFocusCycleRoot(boolean)
,setFocusTraversalPolicyProvider(boolean)
-
transferFocusDownCycle
public void transferFocusDownCycle()
将焦点转移到一个焦点遍历周期。 如果此容器是焦点循环根,则将焦点所有者设置为此Container的默认组件以进行对焦,并将当前焦点循环根设置为此Container。 如果此Container不是焦点循环根,则不会发生焦点遍历操作。- 从以下版本开始:
- 1.4
- 另请参见:
-
Component.requestFocus()
,isFocusCycleRoot(java.awt.Container)
,setFocusCycleRoot(boolean)
-
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation o)
设置此容器的ComponentOrientation
属性及其中包含的所有组件。该方法更改布局相关信息,因此使组件层次结构无效。
- 重写:
-
applyComponentOrientation
在Component
- 参数
-
o
- 此容器的新组件方向及其中包含的组件。 - 异常
-
NullPointerException
- 如果orientation
为空。 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.setComponentOrientation(java.awt.ComponentOrientation)
,Component.getComponentOrientation()
,invalidate()
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener添加到侦听器列表。 监听器已注册到此类的所有绑定属性,包括以下内容:- 这个容器的字体(“font”)
- 此容器的背景颜色(“背景”)
- 这个容器的前景色(“前景”)
- 这个集装箱的聚焦性(“可聚焦”)
- 此容器的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 此容器的一组FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)
- 此容器的一组BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个容器的一套UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)
- 这个容器的一套DOWN_CYCLE_TRAVERSAL_KEYS(“downCycleFocusTraversalKeys”)
- 这个容器的焦点遍历策略(“focusTraversalPolicy”)
- 这个容器的焦点循环根状态(“focusCycleRoot”)
如果侦听器为空,则不会抛出异常,也不会执行任何操作。
- 重写:
-
addPropertyChangeListener
在Component
- 参数
-
listener
- 要添加的PropertyChangeListener - 另请参见:
-
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
,addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
-
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
将PropertyChangeListener添加到特定属性的侦听器列表中。 指定的属性可能是用户定义的,也可能是以下默认值之一:- 这个容器的字体(“font”)
- 此容器的背景颜色(“背景”)
- 这个容器的前景色(“前景”)
- 这个集装箱的聚焦性(“可聚焦”)
- 此容器的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 此容器的一组FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)
- 此容器的一组BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个容器的一套UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)
- 这个容器的一套DOWN_CYCLE_TRAVERSAL_KEYS(“downCycleFocusTraversalKeys”)
- 这个容器的焦点遍历策略(“focusTraversalPolicy”)
- 这个容器的焦点循环根状态(“focusCycleRoot”)
- 该容器的焦点遍历策略提供者状态(“focusTraversalPolicyProvider”)
- 该容器的焦点遍历策略提供者状态(“focusTraversalPolicyProvider”)
如果侦听器为空,则不会抛出异常,也不会执行任何操作。
- 重写:
-
addPropertyChangeListener
在Component
- 参数
-
propertyName
- 上面列出的属性名称之一 -
listener
- 要添加的PropertyChangeListener - 另请参见:
-
addPropertyChangeListener(java.beans.PropertyChangeListener)
,Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
-
-