public class Container extends Component
在列表中添加到容器中的组件。列表的顺序将定义容器中的组件的前面到后面的堆叠顺序。如果在向容器中添加一个组件时指定了没有索引,则将被添加到列表的末端(并且因此到了堆叠顺序的底部)。
注:为聚焦系统,详情见 How to Use the Focus Subsystem,java教程中的一部分,和更多的信息Focus Specification。
add(java.awt.Component, int)
,
getComponent(int)
,
LayoutManager
,
Serialized Form
Modifier and Type | Class and Description |
---|---|
protected class |
Container.AccessibleAWTContainer
用于提供可访问性的默认支持的容器的内部类。
|
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 |
---|
Container()
构造一个新容器。
|
Modifier and Type | Method and Description |
---|---|
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)
返回容器内组件的顺序索引。
|
ContainerListener[] |
getContainerListeners()
返回在这个容器上注册的所有容器侦听器的数组。
|
Set<AWTKeyStroke> |
getFocusTraversalKeys(int id)
返回此容器的一个给定遍历操作的焦点遍历键集的集合。
|
FocusTraversalPolicy |
getFocusTraversalPolicy()
返回将管理此容器的孩子的键盘遍历的焦点遍历策略,或者如果这个容器不是一个焦点循环根。
|
Insets |
getInsets()
决定这个容器的插图,这表示容器边框的大小。
|
LayoutManager |
getLayout()
获取此容器的布局管理器。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回对象的当前注册为
FooListener s在这
Container 数组。
|
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)
返回指定的容器是否是这个容器的焦点遍历周期的焦点循环根。
|
boolean |
isFocusTraversalPolicyProvider()
返回这个容器是否提供焦点遍历策略。
|
boolean |
isFocusTraversalPolicySet()
返回是否已显式设置此容器的焦点遍历策略。
|
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(Component comp)
从该容器中移除指定的组件。
|
void |
remove(int index)
删除指定的组件,
index ,从这个容器。
|
void |
removeAll()
从这个容器中移除所有的组件。
|
void |
removeContainerListener(ContainerListener l)
移除指定的容器侦听器,所以它不再接收来自该容器的容器事件。
|
void |
removeNotify()
让这个容器不可显示去除其连接到其本地网资源。
|
void |
setComponentZOrder(Component comp, int index)
将指定的组件在容器中的指定顺序索引。
|
void |
setFocusCycleRoot(boolean focusCycleRoot)
设置这个容器是否是一个焦点遍历周期的根。
|
void |
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置此容器的一个给定遍历操作的焦点遍历键。
|
void |
setFocusTraversalPolicy(FocusTraversalPolicy policy)
设置焦点遍历策略,将管理此容器的孩子的键盘遍历,如果这个容器是一个焦点循环根。
|
void |
setFocusTraversalPolicyProvider(boolean provider)
设置此容器是否将用于提供焦点遍历策略。
|
void |
setFont(Font f)
设置此容器的字体。
|
void |
setLayout(LayoutManager mgr)
设置此容器的布局管理器。
|
void |
transferFocusDownCycle()
转移焦点下移一个焦点遍历周期。
|
void |
update(Graphics g)
更新容器。
|
void |
validate()
验证这个容器及其所有子组件。
|
protected void |
validateTree()
递归下降的容器树和重新计算布局标记为需要它的任何子树(标记为无效)。
|
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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public Container()
public int getComponentCount()
注意:这种方法被称为AWT树锁下。
getComponent(int)
,
Component.getTreeLock()
@Deprecated public int countComponents()
public Component getComponent(int n)
注意:这种方法被称为AWT树锁下。
n
-组件获得指数。
ArrayIndexOutOfBoundsException
-如果n
TH值不存在。
Component.getTreeLock()
public Component[] getComponents()
注意:这种方法被称为AWT树锁下。
Component.getTreeLock()
public Insets getInsets()
例如,有一个Frame
对象,对应于框架的标题栏的高度上插图。
Insets
,
LayoutManager
@Deprecated public Insets insets()
getInsets()
。
public Component add(Component comp)
addImpl(java.awt.Component, java.lang.Object, int)
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以显示添加的组件。
便利的方法。comp
-要添加的组件
null
comp
NullPointerException
addImpl(java.awt.Component, java.lang.Object, int)
,
invalidate()
,
validate()
,
JComponent.revalidate()
public Component add(String name, Component comp)
addImpl(java.awt.Component, java.lang.Object, int)
便利的方法。
这种方法是过时的1.1。请使用方法add(Component, Object)
相反。
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以显示添加的组件。
null
comp
NullPointerException
add(Component, Object)
,
invalidate()
public Component add(Component comp, int index)
addImpl(java.awt.Component, java.lang.Object, int)
便利的方法。
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以显示添加的组件。
comp
-要添加的组件
index
-在该位置插入成分,或
-1
附加组件来结束
comp
null
comp
NullPointerException
IllegalArgumentException
-如果
index
无效(见
addImpl(java.awt.Component, java.lang.Object, int)
详情)
addImpl(java.awt.Component, java.lang.Object, int)
,
remove(int)
,
invalidate()
,
validate()
,
JComponent.revalidate()
public void setComponentZOrder(Component comp, int index)
如果该组件是一些其他容器的子容器,则在将该组件添加到该容器之前,将其从该容器中删除。这种方法和java.awt.Container.add(Component, int)
之间的重要区别是,该方法不叫removeNotify
组件上的同时消除它从以前的容器,除非必要时,允许由底层的本地窗口系统。这样,如果组件具有键盘焦点,当移动到新位置时,它保持焦点。
此属性是保证仅适用于轻non-Container
组件。
这种方法改变布局的相关信息,因此,无效的组件层次结构。
注:并不是所有的平台都支持改变重量级组件顺序从一个容器到另一个没有打电话removeNotify
。没有办法检测是否支持这一平台,让开发者不应该做任何假设。
comp
-可移动组件
index
在容器的列表的位置插入成分,其中
getComponentCount()
追加到最后
null
comp
NullPointerException
IllegalArgumentException
-如果
comp
是一个容器的父母
IllegalArgumentException
-如果
index
不在范围
[0, getComponentCount()]
之间移动容器,或不在范围内
[0, getComponentCount()-1]
容器移动
IllegalArgumentException
如果添加一个容器本身
IllegalArgumentException
如果添加
Window
到容器
getComponentZOrder(java.awt.Component)
,
invalidate()
public int getComponentZOrder(Component comp)
comp
-被查询的组件
null
或不属于容器
setComponentZOrder(java.awt.Component, int)
public void add(Component comp, Object constraints)
addImpl(java.awt.Component, java.lang.Object, int)
便利的方法。
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以显示添加的组件。
comp
-要添加的组件
constraints
物体表达这个组件的布局约束
null
comp
NullPointerException
addImpl(java.awt.Component, java.lang.Object, int)
,
invalidate()
,
validate()
,
JComponent.revalidate()
,
LayoutManager
public void add(Component comp, Object constraints, int index)
addImpl(java.awt.Component, java.lang.Object, int)
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以显示添加的组件。
便利的方法。comp
-要添加的组件
constraints
物体表达布局限制这
index
-在列表容器的位置插入成分;
-1
意味着最后部分插入
null
comp
NullPointerException
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
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
如果增加一个窗口一个容器
null
comp
NullPointerException
add(Component)
,
add(Component, int)
,
add(Component, java.lang.Object)
,
invalidate()
,
LayoutManager
,
LayoutManager2
public void remove(int index)
index
,从这个容器。这种方法也将布局管理器删除组件容器的布局方法,通过
removeLayoutComponent
。
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以反映更改后的情况。
index
-组件被删除索引
ArrayIndexOutOfBoundsException
-如果
index
不在范围内
[0, getComponentCount()-1]
add(java.awt.Component)
,
invalidate()
,
validate()
,
getComponentCount()
public void remove(Component comp)
removeLayoutComponent
。
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以反映更改后的情况。
comp
-要移除的组件
null
comp
NullPointerException
add(java.awt.Component)
,
invalidate()
,
validate()
,
remove(int)
public void removeAll()
removeLayoutComponent
。
这种方法改变布局的相关信息,因此,无效的组件层次结构。如果容器已被显示,则该层次结构必须在其后进行验证,以反映更改后的情况。
public LayoutManager getLayout()
public void setLayout(LayoutManager mgr)
这种方法改变布局的相关信息,因此,无效的组件层次结构。
mgr
-指定的布局管理器
doLayout()
,
getLayout()
,
invalidate()
public void doLayout()
validate
法代替。
doLayout
方法重写,继承类
Component
LayoutManager.layoutContainer(java.awt.Container)
,
setLayout(java.awt.LayoutManager)
,
validate()
@Deprecated public void layout()
doLayout()
。
public boolean isValidateRoot()
布局相关的更改,如验证根后代的边界,不影响验证根父类的布局。这种特性使invalidate()
方法停止无效的组件层次结构的方法时,遇到一个验证根。然而,保持向后兼容性,新的优化行为是启用只有当java.awt.smartInvalidate
系统属性值设置为true
。
如果一个组件层次结构包含验证根和新的优化invalidate()
行为启用的validate()
方法必须在验证先前无效成分恢复之后的层次调用有效根。否则,在顶层容器调用validate()
方法(如Frame
对象)应该用于恢复组件层次结构的有效性。
的Window
类和Applet
类是验证根在AWT。秋千引入更多的验证根。
invalidate()
,
Component.invalidate()
,
JComponent.isValidateRoot()
,
JComponent.revalidate()
public void invalidate()
如果LayoutManager
安装在该容器的LayoutManager2
接口的一个实例,然后调用它的方法LayoutManager2.invalidateLayout(Container)
提供这Container
作为论据。
后来这个方法标志着这个容器无效、失效和它的祖先。详情请参阅Component.invalidate()
方法。
invalidate
方法重写,继承类
Component
validate()
,
layout()
,
LayoutManager2
public void validate()
验证一个集装箱手段奠定了其子。布局相关的变化,比如设置一个组件的边界,或一个组件添加到容器,使容器自动。注:容器的祖先可能无效也(见Component.invalidate()
详情。)因此,恢复该层次结构的有效性,该validate()
方法应在最高层次最无效的容器调用。
验证容器可能是一个相当耗时的操作。为了性能原因,开发人员可以推迟层次结构的验证,直到一组布局相关的操作完成后,例如将所有的孩子添加到容器中。
如果这Container
无效,此方法调用validateTree
方法和标志着这Container
有效。否则,没有执行任何动作。
validate
方法重写,继承类
Component
add(java.awt.Component)
,
invalidate()
,
isValidateRoot()
,
JComponent.revalidate()
,
validateTree()
protected void validateTree()
validate
。
doLayout()
,
validate()
public void setFont(Font f)
这种方法改变布局的相关信息,因此,无效的组件层次结构。
setFont
方法重写,继承类
Component
f
-字体成为这个容器的字体。
Component.getFont()
,
invalidate()
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()
@Deprecated public Dimension preferredSize()
getPreferredSize()
。
preferredSize
方法重写,继承类
Component
public Dimension getMinimumSize()
Component.setMinimumSize(Dimension)
明确这
Container
有
non-null
LayoutManager
,然后
LayoutManager.minimumLayoutSize(Container)
用于计算最小尺寸。
注意:一些实现可能缓存的值从LayoutManager
返回。实现缓存不需要调用minimumLayoutSize
在LayoutManager
每次调用该方法,而LayoutManager
只能查询后Container
无效。
getMinimumSize
方法重写,继承类
Component
Dimension
表示这个容器的最小尺寸的一个实例。
getPreferredSize()
,
getMaximumSize()
,
getLayout()
,
LayoutManager.minimumLayoutSize(Container)
,
Component.getMinimumSize()
@Deprecated public Dimension minimumSize()
getMinimumSize()
。
minimumSize
方法重写,继承类
Component
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()
public float getAlignmentX()
getAlignmentX
方法重写,继承类
Component
public float getAlignmentY()
getAlignmentY
方法重写,继承类
Component
public void paint(Graphics g)
paint
方法重写,继承类
Component
g
-指定的图形窗口
Component.update(Graphics)
public void update(Graphics g)
update
方法重写,继承类
Component
g
-指定的图形窗口
Component.update(Graphics)
public void print(Graphics g)
print
方法重写,继承类
Component
g
-指定的图形窗口
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)
参考AWT Threading Issues对AWT的线程模型的细节。
l
-容器的倾听者
removeContainerListener(java.awt.event.ContainerListener)
,
getContainerListeners()
public void removeContainerListener(ContainerListener l)
参考AWT Threading Issues对AWT的线程模型的细节。
l
-容器的倾听者
addContainerListener(java.awt.event.ContainerListener)
,
getContainerListeners()
public ContainerListener[] getContainerListeners()
ContainerListener
s或空数组如果没有容器的听众正在注册
addContainerListener(java.awt.event.ContainerListener)
,
removeContainerListener(java.awt.event.ContainerListener)
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener
s在这
Container
数组。
FooListener
s使用
addFooListener
方法注册。如果没有这样
您可以指定一个类的listenerType
字面的说法,如FooListener.class
。例如,你可以查询其容器的听众与下面的代码Container
c
:
containerlistener [] CLS =(containerlistener [ ])(c.getlisteners(containerlistener。类));听众的存在,此方法将返回空数组。
getListeners
方法重写,继承类
Component
listenerType
-听众的类型要求;这个参数应该指定一个接口,从
java.util.EventListener
FooListener
s数组,或一个空数组如果没有这样的听众已添加
ClassCastException
-如果
listenerType
不指定一个类或接口实现
java.util.EventListener
null
listenerType
NullPointerException
getContainerListeners()
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)
protected void processContainerEvent(ContainerEvent e)
addContainerListener
注册enableEvents
注意,如果参数是null
行为是不可能导致异常。
e
-集装箱事件
Component.enableEvents(long)
@Deprecated public void deliverEvent(Event e)
dispatchEvent(AWTEvent e)
deliverEvent
方法重写,继承类
Component
public Component getComponentAt(int x, int y)
getComponentAt
方法重写,继承类
Component
x
- nullx坐标
y
- nully坐标
Component.contains(int, int)
@Deprecated public Component locate(int x, int y)
getComponentAt(int, int)
。
public Component getComponentAt(Point p)
getComponentAt
方法重写,继承类
Component
p
-点。
null
如果组件不包含点。
Component.contains(int, int)
public Point getMousePosition(boolean allowChildren) throws HeadlessException
Container
是鼠标指针下的回报在这
Container
坐标空间鼠标指针的位置,否则返回
null
。这种方法类似于
Component.getMousePosition()
除可采取
Container
的孩子考虑。如果
allowChildren
是
false
,这种方法只会在鼠标指针上的
Container
直接返回一个非空的值,而不是以上的部分被孩子。如果
allowChildren
是
true
,如果鼠标指针在
Container
或其后裔此方法返回一个非空值。
allowChildren
-如果孩子应该考虑
Component
,或空
HeadlessException
-如果graphicsenvironment isheadless()返回true。
Component.getMousePosition()
public Component findComponentAt(int x, int y)
的findcomponentat方法不同,getcomponentat getcomponentat仅搜索容器的直系子女;如果包含组件是一个容器,findcomponentat将搜索的孩子找到一个嵌套的组件。
忽视x
- nullx坐标
y
- nully坐标
Component.contains(int, int)
,
getComponentAt(int, int)
public Component findComponentAt(Point p)
的findcomponentat方法不同,getcomponentat getcomponentat仅搜索容器的直系子女;如果包含组件是一个容器,findcomponentat将搜索的孩子找到一个嵌套的组件。
忽视p
-点。
null
p
NullPointerException
Component.contains(int, int)
,
getComponentAt(int, int)
public void addNotify()
addNotify
方法重写,继承类
Component
Component.isDisplayable()
,
removeNotify()
public void removeNotify()
removeNotify
方法重写,继承类
Component
Component.isDisplayable()
,
addNotify()
public boolean isAncestorOf(Component c)
c
-组件
true
如果是祖先;
false
否则。
protected String paramString()
Container
状态。此方法仅用于调试目的,返回的字符串的内容和格式可能会在实现过程中有所不同。返回的字符串是空的但可能不
null
。
paramString
方法重写,继承类
Component
public void list(PrintStream out, int indent)
容器的直系子女均印有indent+1
压痕。那些孩子是印刷在indent+2
等等。
list
方法重写,继承类
Component
out
-打印流
indent
-空格数缩进
null
out
NullPointerException
Component.list(java.io.PrintStream, int)
public void list(PrintWriter out, int indent)
容器的直系子女均印有indent+1
压痕。那些孩子是印刷在indent+2
等等。
list
方法重写,继承类
Component
out
-打印的作家
indent
-空格数缩进
null
out
NullPointerException
Component.list(java.io.PrintWriter, int)
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
容器的焦点遍历键的默认值是依赖于实现的。太阳推荐,一个特定的本地平台的所有实现都使用相同的默认值。Windows和Unix的建议如下。这些建议是用于太阳AWT的实现。
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,客户端代码可以指定在这两个关键场次,key_pressed或key_released,焦点遍历操作将发生。keyEvent不管它是指定的,但是,对焦点遍历密钥相关的所有关键场次,包括相关的key_typed事件,会被消耗掉,而不会被派遣到任何容器。这是一个运行时错误指定key_typed事件映射到一个焦点遍历操作,或映射到同一事件的多个默认的焦点遍历操作。
如果为该集指定了空值,则该容器将继承父。如果这个容器的所有祖先都无效的设置指定,那么当前的默认设置是使用keyboardfocusmanager。
这种方法可以keystrokes
任何Object
不是AWTKeyStroke
扔ClassCastException
。
setFocusTraversalKeys
方法重写,继承类
Component
id
-一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
keystrokes
-为指定的操作awtkeystroke集
IllegalArgumentException
-如果我不是一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys,或如果按键包含null,或者如果任何按键代表一个key_typed事件,或如果任何按键已经映射到另一个焦点遍历操作这个容器
getFocusTraversalKeys(int)
,
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
,
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys
)
如果这个容器没有显式定义了一组遍历键,则返回此容器的父组。如果没有了任何这个容器的祖先的明确定义,那么当前的默认设置keyboardfocusmanager返回。
getFocusTraversalKeys
方法重写,继承类
Component
id
-一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
IllegalArgumentException
-如果我不是一个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_KEYS
public boolean areFocusTraversalKeysSet(int id)
false
,这个容器是从祖先继承的设置,或从目前的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
-如果我不是一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
public boolean isFocusCycleRoot(Container container)
true
。
isFocusCycleRoot
方法重写,继承类
Component
container
-容器进行测试
true
如果指定的容器是一个焦点循环-这个容器的根;
false
否则
isFocusCycleRoot()
public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
如果这个容器不是一个焦点周期根,该策略将被记住,但不会被使用或继承这个或任何其他容器,直到这个容器是由一个焦点周期根。
policy
-新焦点遍历策略这个容器
getFocusTraversalPolicy()
,
setFocusCycleRoot(boolean)
,
isFocusCycleRoot(java.awt.Container)
public FocusTraversalPolicy getFocusTraversalPolicy()
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
setFocusCycleRoot(boolean)
,
isFocusCycleRoot(java.awt.Container)
public boolean isFocusTraversalPolicySet()
false
,这个容器会继承其焦点遍历策略从一个祖先。
true
如果焦点遍历策略已明确设置该容器;
false
否则。
public void setFocusCycleRoot(boolean focusCycleRoot)
要指定此子容器的遍历顺序替代的方法是使这一focus traversal policy provider容器。
focusCycleRoot
-指示此容器是一个焦点遍历循环的根
isFocusCycleRoot()
,
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
getFocusTraversalPolicy()
,
ContainerOrderFocusTraversalPolicy
,
setFocusTraversalPolicyProvider(boolean)
public boolean isFocusCycleRoot()
setFocusCycleRoot(boolean)
,
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
getFocusTraversalPolicy()
,
ContainerOrderFocusTraversalPolicy
public final void setFocusTraversalPolicyProvider(boolean provider)
true
将用于收购焦点遍历策略而不是最近的焦点循环根祖先。
provider
-指示此容器将用于提供焦点遍历策略
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
getFocusTraversalPolicy()
,
isFocusTraversalPolicyProvider()
public final boolean isFocusTraversalPolicyProvider()
true
当键盘焦点经理搜索容器层次焦点遍历策略和遭遇这个容器在任何其他容器与此属性为true或焦点循环根其焦点遍历策略将代替焦点循环根的政策。
true
如果该容器提供了焦点遍历策略,
false
否则
setFocusTraversalPolicy(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
财产和所有组件包含在。
这种方法改变布局的相关信息,因此,无效的组件层次结构。
applyComponentOrientation
方法重写,继承类
Component
o
-这个容器的新组件和组件包含在它的方向。
NullPointerException
-如果
orientation
是空的。
Component.setComponentOrientation(java.awt.ComponentOrientation)
,
Component.getComponentOrientation()
,
invalidate()
public void addPropertyChangeListener(PropertyChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
addPropertyChangeListener
方法重写,继承类
Component
listener
- propertychangelistener加以补充
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
,
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
addPropertyChangeListener
方法重写,继承类
Component
propertyName
-上面列出的属性名称
listener
- propertychangelistener加以补充
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.