类 java.awt.Container
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
- public abstract class Container
- extends Component
- 下列类的父类:
- Panel, ScrollPane, Window
一个类属 AWT 容器对象是一个可包含其它 AWT 组件的组件。
添加到容器中的组件放在一个列表中。列表的次序将定义组件在容器内的堆栈顺序。若将组件添加到容器中时未指定下标,则它将被添加到列表尾部 ( 此后它位于堆栈顺序的底部 ) 。
- 来自:
- JDK1.0
- 参见:
- add, getComponent, LayoutManager
构造子索引
- Container()
- 构造一个新的容器。
方法索引
- add(Component)
-
将指定的组件添加到这个容器尾部。
- add(Component, int)
-
将指定的组件添加到这个组件的指定位置。
- add(Component, Object)
- 将指定的组件添加到这个容器尾部。
- add(Component, Object, int)
- 用指定的约束条件,将指定的组件添加到指定下标的容器里。
- add(String, Component)
- 将指定的组件添加到这个容器中。
- addContainerListener(ContainerListener)
- 添加指定的容器监听者,来接收来自这个容器的容器事件。
- addImpl(Component, Object, int)
- 将指定的组件添加到指定下标的容器里。
- addNotify()
-
通知容器创建一个同级件。
- countComponents()
-
不推荐使用该方法。
- deliverEvent(Event)
-
不推荐使用该方法。
- doLayout()
-
使这个容器对它的组件进行布局。
- getAlignmentX()
- 返回沿 X 轴 的对齐方式。
- getAlignmentY()
- 返回沿 Y 轴 的对齐方式。
- getComponent(int)
-
获取这个容器的第 n 个组件。
- getComponentAt(int, int)
- 对包含 x,y 位置的组件进行定位。
- getComponentAt(Point)
- 获取包含指定的点的组件。
- getComponentCount()
-
获取这个面板中的组件数目。
- getComponents()
- 获取这个容器中的所有组件。
- getInsets()
- 确定这个容器的表示容器边界大小的边框。
- getLayout()
-
获取这个容器的布局管理器。
- getMaximumSize()
-
返回这个容器的最大尺寸。
- getMinimumSize()
-
返回这个容器的最小尺寸。
- getPreferredSize()
-
返回这个容器的最佳尺寸。
- insets()
-
不推荐使用该方法。
- invalidate()
-
使容器无效。
- isAncestorOf(Component)
- 检查组件是否包含在这个容器的组件层次中。
- layout()
-
不推荐使用该方法。
- list(PrintStream, int)
- 将这个容器的打印清单传送到指定输出流中。
- list(PrintWriter, int)
- 以指定的缩排格式,将一个打印清单传送到指定的打印写程序中。
- locate(int, int)
-
不推荐使用该方法。
- minimumSize()
-
不推荐使用该方法。
- paint(Graphics)
-
绘制这个容器。
- paintComponents(Graphics)
-
绘制这个容器中的每个组件。
- paramString()
- 返回表示这个容器状态的参数字符串。
- preferredSize()
-
不推荐使用该方法。
- print(Graphics)
-
打印这个容器。
- printComponents(Graphics)
-
打印这个容器中的每个组件。
- processContainerEvent(ContainerEvent)
-
通过将容器事件分配给任意一个已注册的 ContainerListener 对象,来处理发生在这个容器上的容器事件。
- processEvent(AWTEvent)
- 处理这个容器上的事件。
- remove(Component)
-
删除容器中指定的组件。
- remove(int)
-
删除这个容器中指定
下标处的组件。
- removeAll()
-
删除容器中的所有组件。
- removeContainerListener(ContainerListener)
- 删除指定的容器监听者,使其不再接收这个容器的容器事件。
- removeNotify()
-
通知这个容器和它的所有子组件来删除它们的同级件。
- setLayout(LayoutManager)
-
设置这个容器的布局管理器。
- update(Graphics)
-
更改这个容器。
- validate()
-
确认这个容器和它的所有子组件。
- validateTree()
- 在容器树中降序递归查找,并对任何标记为需要布局的 ( 标记为有效的 ) 子树重新计算布局。
构造子
Container
protected Container()
- 构造一个新建 Container 。容器可被直接扩展,但在这种情况下,它的开销较低并且必须包含在本地组件树中更高层的父类中。例如:Frame
。
方法
getComponentCount
public int getComponentCount()
- 获取这个面板中的组件数目。
- 返回值:
- 这个面板中的组件数目。
- 参见:
- getComponent
countComponents
public int countComponents()
- 注意:不推荐使用 countComponents() 方法。
同 JDK 1.1 版一样,用 getComponentCount() 方法替换该方法。
getComponent
public Component getComponent(int n)
- 获取这个容器的第 n 个组件。
- 参数:
- n - 获取组件的下标。
- 返回值:
- 这个容器中的第 n 个组件。
- 抛出:
ArrayIndexOutOfBoundsException
- 若第 n 个值不存在。
getComponents
public Component[] getComponents()
- 获取这个容器中的所有组件。
- 返回值:
- 一个包含这个容器中所有组件的数组。
getInsets
public Insets getInsets()
- 确定这个容器的表示容器边界大小的边框。
一个 Frame 对象,例如:具有一个与框架的标题条高度相对应的上边框。
- 返回值:
- 这个容器的边框。
- 参见:
- Insets, LayoutManager
insets
public Insets insets()
- 注意:不推荐使用 insets() 方法。
同 JDK 1.1 版一样。用
getInsets() 方法替换该方法。
add
public Component add(Component comp)
- 将一个指定的组件添加到这个容器尾部。
- 参数:
- comp - 要添加的组件。
- 返回值:
- 组件参数。
add
public Component add(String name,
Component comp)
- 将指定的组件添加到这个容器中。强烈建议使用 1.1 版中的
add(Component, Object) 方法来替代该方法。
add
public Component add(Component comp,
int index)
- 将指定的组件添加到这个组件的指定位置。
- 参数:
- comp - 要添加的组件。
- index - 组件的插入位置,若为
-1 ,表示在组件尾部插入。 - 返回值:
- 组件
comp
- 参见:
- remove
add
public void add(Component comp,
Object constraints)
- 将一个指定的组件添加到这个容器尾部。并通知布局管理器用指定的约束条件对象将组件添加到这个容器的布局中。
- 参数:
- comp - 要添加的组件
- constraints - 表示这个组件的布局约束条件的对象
- 参见:
- LayoutManager
add
public void add(Component comp,
Object constraints,
int index)
- 用指定的约束条件,将指定的组件添加到具有指定约束的指定下标的容器里。并通知布局管理器使用指定的约束条件对象将组件添加到这个容器的布局中。
- 参数:
- comp - 要添加的组件
- constraints - 表示这个组件的布局约束条件的对象
- index - 容器的列表中要插入组件的位置。-1 表示在组件尾插入。
- 参见:
- remove, LayoutManager
addImpl
protected void addImpl(Component comp,
Object constraints,
int index)
- 将指定的组件添加到指定下标的容器里。这个方法还通知布局管理器用指定的约束条件对象将组件添加到这个容器的布局中。
若程序须跟踪容器的每个添加请求,则应覆盖这个方法。用来覆盖的方法通常应包含这个方法的父类版本的一个调用:
super.addImpl(comp, constraints, index)
- 参数:
- comp - 要添加的组件。
- constraints - 表示这个组件的布局约束条件的对象。
- index - 容器列表中组件的插入位置,其中
-1 表示在组件尾部插入。
- 参见:
- add, add, add, LayoutManager
remove
public void remove(int index)
- 删除这个容器中指定
index 处的组件。
- 参数:
- index - 删除组件的下标。
- 参见:
- add
remove
public void remove(Component comp)
- 删除这个容器中指定的组件。
- 参数:
- comp - 删除的组件。
- 参见:
- add
removeAll
public void removeAll()
- 删除容器中的所有组件。
- 参见:
- add, remove
getLayout
public LayoutManager getLayout()
- 获取这个容器的布局管理器。
- 参见:
- doLayout, setLayout
setLayout
public void setLayout(LayoutManager mgr)
- 设置这个容器的布局管理器。
- 参数:
- mgr - 指定的布局管理器
- 参见:
- doLayout, getLayout
doLayout
public void doLayout()
- 使这个容器对它的组件进行布局。大多数程序不直接调用该方法,而应替代地调用
validate 方法。
- 覆盖:
- 类 Component
中的 doLayout
- 参见:
- layoutContainer, setLayout, validate
layout
public void layout()
- 注意:不推荐使用 layout() 方法。
同 JDK 1.1 版一样,用
doLayout() 方法替换该方法。
- 覆盖:
- 类 Component
中的 layout
invalidate
public void invalidate()
- 该方法使容器无效。这个组件和其上的所有父代被标记为需要进行布局。由于该方法经常被调用,因此该方法的执行速度要求较快。
- 覆盖:
- 类 Component
中的 invalidate
- 参见:
- validate, layout, LayoutManager
validate
public void validate()
- 确认这个容器和它的所有子组件。
AWT 使用 validate 方法,来使容器在其包含的组件被添加或修改时,对其组件重新进行布局。
- 覆盖:
- 类 Component
中的 validate
- 参见:
- validate, invalidate
validateTree
protected void validateTree()
- 在容器树中降序递归查找,并对任何标记为需要布局的 ( 标记为有效的 ) 子树重新计算布局。调用一个
validate 方法的方法应提供同步功能。
getPreferredSize
public Dimension getPreferredSize()
- 返回这个容器的最佳尺寸。
- 返回值:
- 一个表示这个容器的最佳尺寸的
Dimension 实例。
- 覆盖:
- 类 Component
中的 getPreferredSize
- 参见:
- getMinimumSize, getLayout, preferredLayoutSize, getPreferredSize
preferredSize
public Dimension preferredSize()
- 注意:不推荐使用 preferredSize() 方法。
同 JDK 1.1 版一样,用
getPreferredSize() 方法替换该方法。
- 覆盖:
- 类 Component
中的 preferredSize
getMinimumSize
public Dimension getMinimumSize()
- 返回这个容器的最小尺寸。
- 返回值:
- 一个表示这个容器的最小尺寸的
Dimension 实例。
- 覆盖:
- 类 Component
中的 getMinimumSize
- 参见:
- getPreferredSize, getLayout, minimumLayoutSize, getMinimumSize
minimumSize
public Dimension minimumSize()
- 注意:不推荐使用 minimumSize()。
同 JDK 1.1 版一样,用
getMinimumSize() 方法替换该方法。
- 覆盖:
- 类 Component
中的 minimumSize
getMaximumSize
public Dimension getMaximumSize()
- 返回这个容器的最大尺寸。
- 覆盖:
- 类 Component
中的 getMaximumSize
- 参见:
- getPreferredSize
getAlignmentX
public float getAlignmentX()
- 返回沿 X 轴 的对齐方式。它指定了这个组件相对于其它组件的对齐方式。该值应是一个介于 0 和 1 之间的数,其中 0 表示沿原点对齐,1 表示按距原点最远的点对齐,0.5 表示居中对齐等。
- 覆盖:
- 类 Component
中的 getAlignmentX
getAlignmentY
public float getAlignmentY()
- 返回沿 Y 轴 的对齐方式。它指定了这个组件相对于其它组件的对齐方式。该值应是一个介于 0 和 1 之间的数,其中 0 表示沿原点对齐,1 表示按距原点最远的点对齐,0.5 表示居中对齐等。
- 覆盖:
- 类 Component
中的 getAlignmentY
paint
public void paint(Graphics g)
- 绘制这个容器。该方法将 paint 方法转发给任意一个是这个容器的子辈的轻量级组件。若重新实现这个方法,应调用 super.paint(g) ,这样轻量级组件就可被正确的描绘。若一个子组件被 g 中当前的剪切设置完全剪切,paint() 方法将不被转发给该子组件。
- 参数:
- g - 指定的 Graphics 窗口
- 覆盖:
- 类 Component
中的 paint
- 参见:
- update
update
public void update(Graphics g)
- 更改容器。该方法将 update 方法转发给任意一个是这个容器的子辈的轻量级组件。若重新实现这个方法,应调用 super.paint(g) ,这样轻量级组件就可被正确的描绘。若一个子组件被 g 中当前的剪切设置完全剪切,
update() 方法将不被转发给该子组件。
- 参数:
- g - 指定的 Graphics 窗口
- 覆盖:
- 类 Component
中的 update
- 参见:
- update
print
public void print(Graphics g)
- 打印这个容器。该方法将 print 方法转发给任意一个是这个容器的子辈的轻量级组件。若重新实现这个方法,应调用 super.print(g) ,这样轻量级组件就可被正确的描绘。若一个子组件被 g 中当前的剪切设置完全剪切,
print() 方法将不被转发给该子组件。
- 参数:
- g - 指定的 Graphics 窗口
- 覆盖:
- 类 Component
中的 print
- 参见:
- update
paintComponents
public void paintComponents(Graphics g)
- 绘制这个容器中的每个组件。
- 参数:
- g - 图形上下文
- 参见:
- paint, paintAll
printComponents
public void printComponents(Graphics g)
- 打印这个容器中的每个组件。
- 参数:
- g - 图形上下文
- 参见:
- print, printAll
addContainerListener
public synchronized void addContainerListener(ContainerListener l)
- 添加指定的容器监听者,来接收来自这个容器的容器事件。
- 参数:
- l - 容器监听者
removeContainerListener
public void removeContainerListener(ContainerListener l)
- 删除指定的容器监听者,使其不再接收这个容器的容器事件。
- 参数:
- l - 容器监听者
processEvent
protected void processEvent(AWTEvent e)
- 处理这个容器上的事件。若事件是一个 ContainerEvent ,该方法调用
processContainerEvent 方法,否则调用其父类的 processEvent 方法。
- 参数:
- e - 事件
- 覆盖:
- 类 Component 中的
processEvent
processContainerEvent
protected void processContainerEvent(ContainerEvent e)
- 通过将容器事件分配给任意一个已注册的 ContainerListener 对象,来处理发生在这个容器上的容器事件。注意:除非这个组件可以启用容器事件,否则该方法不能被调用;当下列条件之一发生时,可以启用容器事件:
a) 通过 addContainerListener() 方法,注册一个 ContainerListener 对象
b) 通过 enableEvents() 方法,使容器事件可以启用
- 参数:
- e - 容器事件
- 参见:
- enableEvents
deliverEvent
public void deliverEvent(Event e)
- 注意:不推荐使用 deliverEvent() 方法。
同 JDK 1.1 版一样,用 dispatchEvent(AWTEvent e) 方法替换该方法。
- 覆盖:
- 类 Component 中的 deliverEvent
getComponentAt
public Component getComponentAt(int x,
int y)
- 对包含 x,y 位置的组件进行定位。在组件重叠的情况下,返回最上面的子组件。这可通过查找与下标 0 最接近的组件来确定,这个组件使用
Component.contains() 方法来声明包含给定的点。
- 参数:
- x - x 坐标
- y - y 坐标
- 返回值:
- 若组件不包含给出位置,则返回 null 。若请求点处没有子组件,并且点在容器边界内,则返回容器本身;否则返回最上面的子辈。
- 覆盖:
- 类 Component
中的 getComponentAt
- 参见:
- contains
locate
public Component locate(int x,
int y)
- 注意:不推荐使用 locate() 方法。
同 JDK 1.1 版一样,用
getComponentAt(int, int) 方法替换该方法。
- 覆盖:
- 类 Component
中的 locate
getComponentAt
public Component getComponentAt(Point p)
- 获取包含指定的点的组件。
- 参数:
- p - 点。
- 返回值:
- 返回包含给出点的组件,若组件不包含该点,则返回
null 。
- 覆盖:
- 类 Component
中的 getComponentAt
- 参见:
- contains
addNotify
public void addNotify()
- 通知容器创建一个同级件。该方法还通知包含在这个容器中的组件。应使用
Container.add
调用该方法,而不能由用户代码直接调用。
- 覆盖:
- 类 Component 中的
addNotify
- 参见:
- removeNotify
removeNotify
public void removeNotify()
- 通知这个容器和它的所有子组件来删除它们的同级件。应使用容器的
remove 方法来调用该方法,而不能由用户代码直接调用。
- 覆盖:
- 类 Component 中的
removeNotify
- 参见:
- remove, remove
isAncestorOf
public boolean isAncestorOf(Component c)
- 检查组件是否包含在这个容器的组件层次中。
- 参数:
- c - 组件
- 返回值:
- 若组件是一个祖先,则返回
true ;否则返回
false 。
paramString
protected String paramString()
- 返回表示这个容器状态的参数字符串。该字符串对调试有用。
- 返回值:
- 这个容器的参数字符串。
- 覆盖:
- 类 Component 中的
paramString
list
public void list(PrintStream out,
int indent)
- 将这个容器的打印清单传送到指定输出流中。以指定的缩进格式启动打印清单。
- 参数:
- out - 打印流。
- indent - 缩进空格数。
- 覆盖:
- 类 Component
中的 list
- 参见:
- list
list
public void list(PrintWriter out,
int indent)
- 以指定的缩排格式,将一个打印清单传送到指定的打印写程序中。
- 覆盖:
- 类 Component
中的 list