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
              Container的内部类用于为辅助功能提供默认支持。 
             | 
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategyaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, 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)
              返回容器内组件的z-order索引。 
             | 
| ContainerListener[] | getContainerListeners()
              返回在此容器上注册的所有容器侦听器的数组。 
             | 
| Set<AWTKeyStroke> | getFocusTraversalKeys(int id)
              返回此Container的给定遍历操作的聚焦遍历键集。 
             | 
| FocusTraversalPolicy | getFocusTraversalPolicy()
              返回将管理此Container的子项的键盘遍历的焦点遍历策略,如果此Container不是焦点循环根,则返回null。 
             | 
| Insets | getInsets()
              确定此容器的插入,这表示容器边框的大小。 
             | 
| LayoutManager | getLayout()
              获取此容器的布局管理器。 
             | 
| <T extends EventListener> | getListeners(类<T> listenerType)
              返回当前注册为 
              FooListener的所有对象的数组,在此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)
              返回指定的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(Component comp)
              从此容器中删除指定的组件。 
             | 
| void | remove(int index)
              去除组件,通过指定 
              index,从这个容器。 | 
| 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()
              递归地下降容器树,并重新计算标记为需要的任何子树(标记为无效的)的布局。 
             | 
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, transferFocusUpCyclepublic Container()
public int getComponentCount()
注意:此方法应在AWT树锁下调用。
getComponent(int) , 
            Component.getTreeLock() 
           @Deprecated public int countComponents()
public Component getComponent(int n)
注意:此方法应在AWT树锁下调用。
n - 要获取的组件的索引。 
           ArrayIndexOutOfBoundsException - 如果第n 
            个值不存在。 
           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 - 要添加的组件 
           NullPointerException - 如果 
            comp是 
            null 
           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) 。 
该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
NullPointerException - 如果 
            comp是 
            null 
           add(Component, Object) , 
            invalidate() 
           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() 
           public void setComponentZOrder(Component comp, int index)
 如果组件是某个其他容器的子对象,则在添加到此容器之前将其从该容器中删除。 此方法与java.awt.Container.add(Component, int)之间的java.awt.Container.add(Component, int)在于,该方法不会在removeNotify上调用removeNotify ,同时将其从其先前的容器中删除,除非有必要,并且在底层本机窗口系统允许的情况下。 这样,如果组件具有键盘焦点,则在移动到新位置时会保持焦点。 
 此属性保证仅适用于轻型非Container组件。 
该方法更改布局相关信息,因此使组件层次结构无效。
 注意 :并非所有平台都支持将重量级组件的z级从一个容器更改为另一个容器,而无需调用removeNotify 。 无法检测平台是否支持此功能,因此开发人员不应作出任何假设。 
comp - 要移动的组件 
           index - 容器列表中插入组件的位置,其中 
            getComponentCount()附加到最后 
           NullPointerException - 如果 
            comp是 
            null 
           IllegalArgumentException - 如果 
            comp是容器的父母之一 
           IllegalArgumentException - 如果 
            index不在范围 
            [0, getComponentCount()]之间移动容器之间,或不在范围 
            [0, getComponentCount()-1]在 
            [0, getComponentCount()-1]内移动 
           IllegalArgumentException - 如果向其自身添加容器 
           IllegalArgumentException - 如果向 
            Window添加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 - 表示此组件的布局约束的对象 
           NullPointerException - 如果 
            comp是 
            null 
           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表示在末端组件插入 
           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 
           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 - 如果向 
            IllegalArgumentException添加窗口 
           NullPointerException - 如果 
            comp是 
            null 
           add(Component) , add(Component, int) , add(Component, java.lang.Object) , invalidate() , LayoutManager , LayoutManager2 
           public void remove(int index)
index ,从这个容器。 
           此方法还会通过布局管理器通过removeLayoutComponent方法从该容器的布局中removeLayoutComponent 。 
           该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
index - 要删除的组件的索引 
           ArrayIndexOutOfBoundsException - 如果 
            index不在范围 
            [0, getComponentCount()-1] 
           add(java.awt.Component) , 
            invalidate() , 
            validate() , 
            getComponentCount() 
           public void remove(Component comp)
removeLayoutComponent方法从该容器的布局中removeLayoutComponent 。 
           该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
comp - 要删除的组件 
           NullPointerException - 如果 
            comp为 
            null 
           add(java.awt.Component) , 
            invalidate() , 
            validate() , 
            remove(int) 
           public void removeAll()
removeLayoutComponent方法从该容器的布局中removeLayoutComponent 。 
           该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
add(java.awt.Component) , 
            remove(int) , 
            invalidate() 
           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时, java.awt.smartInvalidate启用此新的优化行为。 
 如果组件层次结构包含有效的根,并且启用了新的优化的invalidate()行为,则必须在先前无效的组件的有效根上调用validate()方法,以便稍后恢复层次结构的有效性。 否则,应使用顶级容器(如Frame对象)调用validate()方法来恢复组件层次结构的有效性。 
 Window类和Applet类是AWT中的有效根。 Swing引入更多有效的根。 
invalidate() , 
            Component.invalidate() , 
            JComponent.isValidateRoot() , 
            JComponent.revalidate() 
           public void invalidate()
 如果这个LayoutManager上安装的LayoutManager是一个LayoutManager2接口的实例,那么LayoutManager2.invalidateLayout(Container)方法被调用,它提供这个Container作为参数。 
 之后,此方法标记此容器无效,并使其祖先无效。 有关详细信息,请参阅Component.invalidate()方法。 
invalidate在类别 
            Component 
           validate() , layout() , LayoutManager2 
           public void validate()
 验证容器意味着布置其子组件。 与布局相关的更改,例如设置组件的边界,或者向容器添加组件,会自动使容器无效。 请注意,容器的祖先也可能无效(详见Component.invalidate() )。因此,要恢复层次结构的有效性,应在validate()结构的最上层无效容器上调用validate()方法。 
验证容器可能是相当耗时的操作。 出于性能原因,开发人员可能推迟层次结构的验证,直到一组布局相关的操作完成,例如在将所有子项添加到容器之后。
 如果这个Container无效,此方法调用validateTree方法,并标记为Container为有效。 否则,不执行任何操作。 
validate在类别 
            Component 
           add(java.awt.Component) , 
            invalidate() , 
            isValidateRoot() , 
            JComponent.revalidate() , 
            validateTree() 
           protected void validateTree()
validate : 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此容器的首选大小的实例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此容器的最小大小的实例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此容器的最大大小的实例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)
l - 容器侦听器 
           removeContainerListener(java.awt.event.ContainerListener) , 
            getContainerListeners() 
           public void removeContainerListener(ContainerListener l)
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的所有对象的数组,在此Container 。 
           FooListener使用addFooListener 。 
            您可以使用类文字指定listenerType参数,如FooListener.class 。 例如,您可以使用以下代码查询Container c其容器侦听器: 
  ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));  
           如果没有这样的侦听器存在,这个方法返回一个空数组。 
          getListeners在类别 
            Component 
           listenerType - 所请求的听众的类型; 
            此参数应指定从java.util.EventListener下降的java.util.EventListener 
           FooListener的所有对象的数组,如果没有添加此类侦听器,则为空数组 
           ClassCastException - 如果 
            listenerType没有指定实现java.util.EventListener的类或 
            java.util.EventListener 
           NullPointerException - 如果 
            listenerType是 
            null 
           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 - 
            x坐标 
           y - 
            y坐标 
           Component.contains(int, int) 
           @Deprecated public Component locate(int x, int y)
getComponentAt(int, int) 。 
          public Component getComponentAt(Point p)
getComponentAt在类别 
            Component 
           p - 点。 
           null如果组件不包含该点,则返回null。 
           Component.contains(int, int) 
           public Point getMousePosition(boolean allowChildren) throws HeadlessException
Container在鼠标指针下方,则返回鼠标指针位于此Container的坐标空间中,否则返回null 。 
           这种方法类似于Component.getMousePosition() ,除了它可以考虑Container的孩子。 
           如果allowChildren是false ,该方法将返回只有当鼠标指针位于上述一个非空值Container直接,不高于由儿童遮蔽的部分。 
           如果allowChildren是true ,如果鼠标指针高于Container或其任何true ,则此方法返回非空值。 
          allowChildren - 如果孩子应该被考虑,则为真 
           Component鼠标坐标,或null 
           HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true 
           Component.getMousePosition() 
           public Component findComponentAt(int x, int y)
getComponentAt方法与getComponentAt不同,因为getComponentAt只搜索Container的直接子对象; 如果包含的组件是一个Container,那么findComponentAt将搜索该子节点以查找嵌套组件。
x - 
            x坐标 
           y - 
            y坐标 
           Component.contains(int, int) , 
            getComponentAt(int, int) 
           public Component findComponentAt(Point p)
getComponentAt方法与getComponentAt不同,因为getComponentAt只搜索Container的直接子对象; 如果包含的组件是一个Container,那么findComponentAt将搜索该子节点以查找嵌套组件。
p - 点。 
           NullPointerException - 如果 
            p是 
            null 
           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+1 。 这些孩子的孩子们打印在indent+2等等。 
list在类别 
            Component 
           out - 打印流 
           indent - 缩进的空格数 
           NullPointerException - 如果 
            out是 
            null 
           Component.list(java.io.PrintStream, int) 
           public void list(PrintWriter out, int indent)
 容器的直接儿童印有indent+1的indent+1 。 这些孩子的孩子们打印在indent+2等等。 
list在类别 
            Component 
           out - 打印作家 
           indent - 要缩进的空格数 
           NullPointerException - 如果 
            out是 
            null 
           Component.list(java.io.PrintWriter, int) 
           public void setFocusTraversalKeys(int id,
                                  Set<? extends AWTKeyStroke> keystrokes) 
          容器的焦点遍历键的默认值是依赖于实现的。 Sun建议特定本地平台的所有实现使用相同的默认值。 Windows和Unix的建议如下。 这些建议用于Sun 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,客户端代码可以指定两个特定的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或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 ) 
           如果尚未为此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 
           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_KEYS 
           public boolean areFocusTraversalKeysSet(int id)
false ,则此Container将从祖先或当前的KeyboardFocusManager继承Set。 
          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 
           public boolean isFocusCycleRoot(Container container)
true这两个容器。 
          isFocusCycleRoot在类别 
            Component 
           container - 要测试的容器 
           true如果指定的Container是此Container的焦点循环根; 
            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 ,则此Container将从祖先继承其焦点遍历策略。 
          true如果已经为此Container显式设置了焦点遍历策略; 
            false否则。 
           public void setFocusCycleRoot(boolean focusCycleRoot)
指定此Container的子进程的遍历顺序的另一种方法是使此Container为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 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.