public classContainerextendsComponent
Components added to a container are tracked in a list. The order of the list will define the components' front-to-back stacking order within the container. If no index is specified when adding a component to a container, it will be added to the end of the list (and hence to the bottom of the stacking order).
Note: For details on the focus subsystem, see How to Use the Focus Subsystem, a section inThe Java Tutorial, and theFocus Specification for more information.
add(java.awt.Component, int)
,getComponent(int)
,LayoutManager
,Serialized FormModifier and Type | Class | Description |
---|---|---|
protected class | Container.AccessibleAWTContainer | Inner class of Container used to provide default support for accessibility. |
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 | Description |
---|---|
Container() | Constructs a new Container. |
Modifier and Type | Method | Description |
---|---|---|
Component | add(Component comp) | Appends the specified component to the end of this container. |
Component | add(Component comp, int index) | Adds the specified component to this container at the given position. |
void | add(Component comp,Object constraints) | Adds the specified component to the end of this container. |
void | add(Component comp,Object constraints, int index) | Adds the specified component to this container with the specified constraints at the specified index. |
Component | add(String name,Component comp) | Adds the specified component to this container. |
void | addContainerListener(ContainerListener l) | Adds the specified container listener to receive container events from this container. |
protected void | addImpl(Component comp,Object constraints, int index) | Adds the specified component to this container at the specified index. |
void | addNotify() | Makes this Container displayable by connecting it to a native screen resource. |
void | addPropertyChangeListener(PropertyChangeListener listener) | Adds a PropertyChangeListener to the listener list. |
void | addPropertyChangeListener(String propertyName,PropertyChangeListener listener) | Adds a PropertyChangeListener to the listener list for a specific property. |
void | applyComponentOrientation(ComponentOrientation o) | Sets the ComponentOrientation property of this container and all components contained within it. |
boolean | areFocusTraversalKeysSet(int id) | Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Container. |
int | countComponents() | Deprecated. As of JDK version 1.1, replaced by getComponentCount(). |
void | deliverEvent(Event e) | Deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent e) |
void | doLayout() | Causes this container to lay out its components. |
Component | findComponentAt(int x, int y) | Locates the visible child component that contains the specified position. |
Component | findComponentAt(Point p) | Locates the visible child component that contains the specified point. |
float | getAlignmentX() | Returns the alignment along the x axis. |
float | getAlignmentY() | Returns the alignment along the y axis. |
Component | getComponent(int n) | Gets the nth component in this container. |
Component | getComponentAt(int x, int y) | Locates the component that contains the x,y position. |
Component | getComponentAt(Point p) | Gets the component that contains the specified point. |
int | getComponentCount() | Gets the number of components in this panel. |
Component[] | getComponents() | Gets all the components in this container. |
int | getComponentZOrder(Component comp) | Returns the z-order index of the component inside the container. |
ContainerListener[] | getContainerListeners() | Returns an array of all the container listeners registered on this container. |
Set<AWTKeyStroke> | getFocusTraversalKeys(int id) | Returns the Set of focus traversal keys for a given traversal operation for this Container. |
FocusTraversalPolicy | getFocusTraversalPolicy() | Returns the focus traversal policy that will manage keyboard traversal of this Container's children, or null if this Container is not a focus cycle root. |
Insets | getInsets() | Determines the insets of this container, which indicate the size of the container's border. |
LayoutManager | getLayout() | Gets the layout manager for this container. |
<T extendsEventListener> | getListeners(Class<T> listenerType) | Returns an array of all the objects currently registered as FooListener s upon thisContainer . |
Dimension | getMaximumSize() | Returns the maximum size of this container. |
Dimension | getMinimumSize() | Returns the minimum size of this container. |
Point | getMousePosition(boolean allowChildren) | Returns the position of the mouse pointer in this Container 's coordinate space if theContainer is under the mouse pointer, otherwise returnsnull . |
Dimension | getPreferredSize() | Returns the preferred size of this container. |
Insets | insets() | Deprecated. As of JDK version 1.1, replaced by getInsets() . |
void | invalidate() | Invalidates the container. |
boolean | isAncestorOf(Component c) | Checks if the component is contained in the component hierarchy of this container. |
boolean | isFocusCycleRoot() | Returns whether this Container is the root of a focus traversal cycle. |
boolean | isFocusCycleRoot(Container container) | Returns whether the specified Container is the focus cycle root of this Container's focus traversal cycle. |
boolean | isFocusTraversalPolicyProvider() | Returns whether this container provides focus traversal policy. |
boolean | isFocusTraversalPolicySet() | Returns whether the focus traversal policy has been explicitly set for this Container. |
boolean | isValidateRoot() | Indicates if this container is avalidate root. |
void | layout() | Deprecated. As of JDK version 1.1, replaced by doLayout() . |
void | list(PrintStream out, int indent) | Prints a listing of this container to the specified output stream. |
void | list(PrintWriter out, int indent) | Prints out a list, starting at the specified indentation, to the specified print writer. |
Component | locate(int x, int y) | Deprecated. As of JDK version 1.1, replaced by getComponentAt(int, int) . |
Dimension | minimumSize() | Deprecated. As of JDK version 1.1, replaced by getMinimumSize() . |
void | paint(Graphics g) | Paints the container. |
void | paintComponents(Graphics g) | Paints each of the components in this container. |
protectedString | paramString() | Returns a string representing the state of this Container . |
Dimension | preferredSize() | Deprecated. As of JDK version 1.1, replaced by getPreferredSize() . |
void | print(Graphics g) | Prints the container. |
void | printComponents(Graphics g) | Prints each of the components in this container. |
protected void | processContainerEvent(ContainerEvent e) | Processes container events occurring on this container by dispatching them to any registered ContainerListener objects. |
protected void | processEvent(AWTEvent e) | Processes events on this container. |
void | remove(Component comp) | Removes the specified component from this container. |
void | remove(int index) | Removes the component, specified by index , from this container. |
void | removeAll() | Removes all the components from this container. |
void | removeContainerListener(ContainerListener l) | Removes the specified container listener so it no longer receives container events from this container. |
void | removeNotify() | Makes this Container undisplayable by removing its connection to its native screen resource. |
void | setComponentZOrder(Component comp, int index) | Moves the specified component to the specified z-order index in the container. |
void | setFocusCycleRoot(boolean focusCycleRoot) | Sets whether this Container is the root of a focus traversal cycle. |
void | setFocusTraversalKeys(int id,Set<? extendsAWTKeyStroke> keystrokes) | Sets the focus traversal keys for a given traversal operation for this Container. |
void | setFocusTraversalPolicy(FocusTraversalPolicy policy) | Sets the focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root. |
void | setFocusTraversalPolicyProvider(boolean provider) | Sets whether this container will be used to provide focus traversal policy. |
void | setFont(Font f) | Sets the font of this container. |
void | setLayout(LayoutManager mgr) | Sets the layout manager for this container. |
void | transferFocusDownCycle() | Transfers the focus down one focus traversal cycle. |
void | update(Graphics g) | Updates the container. |
void | validate() | Validates this container and all of its subcomponents. |
protected void | validateTree() | Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid). |
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()
Note: This method should be called under AWT tree lock.
getComponent(int)
,Component.getTreeLock()
@Deprecatedpublic int countComponents()
public Component getComponent(int n)
Note: This method should be called under AWT tree lock.
n
- the index of the component to get.ArrayIndexOutOfBoundsException
- if the nth value does not exist.Component.getTreeLock()
public Component[] getComponents()
Note: This method should be called under AWT tree lock.
Component.getTreeLock()
public Insets getInsets()
AFrame
object, for example, has a top inset that corresponds to the height of the frame's title bar.
Insets
,LayoutManager
@Deprecatedpublic Insets insets()
getInsets()
.public Component add(Component comp)
addImpl(java.awt.Component, java.lang.Object, int)
.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.
comp
- the component to be addedNullPointerException
- ifcomp
isnull
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)
. This method is obsolete as of 1.1. Please use the methodadd(Component, Object)
instead.
This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.
NullPointerException
- ifcomp
isnull
add(Component, Object)
,invalidate()
public Component add(Component comp, int index)
addImpl(java.awt.Component, java.lang.Object, int)
.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.
comp
- the component to be addedindex
- the position at which to insert the component, or-1
to append the component to the endcomp
NullPointerException
- ifcomp
isnull
IllegalArgumentException
- ifindex
is invalid (seeaddImpl(java.awt.Component, java.lang.Object, int)
for details)addImpl(java.awt.Component, java.lang.Object, int)
,remove(int)
,invalidate()
,validate()
,JComponent.revalidate()
public void setComponentZOrder(Component comp, int index)
If the component is a child of some other container, it is removed from that container before being added to this container. The important difference between this method andjava.awt.Container.add(Component, int)
is that this method doesn't callremoveNotify
on the component while removing it from its previous container unless necessary and when allowed by the underlying native windowing system. This way, if the component has the keyboard focus, it maintains the focus when moved to the new position.
This property is guaranteed to apply only to lightweight non-Container
components.
This method changes layout-related information, and therefore, invalidates the component hierarchy.
Note: Not all platforms support changing the z-order of heavyweight components from one container into another without the call toremoveNotify
. There is no way to detect whether a platform supports this, so developers shouldn't make any assumptions.
comp
- the component to be movedindex
- the position in the container's list to insert the component, wheregetComponentCount()
appends to the endNullPointerException
- ifcomp
isnull
IllegalArgumentException
- ifcomp
is one of the container's parentsIllegalArgumentException
- ifindex
is not in the range[0, getComponentCount()]
for moving between containers, or not in the range[0, getComponentCount()-1]
for moving inside a containerIllegalArgumentException
- if adding a container to itselfIllegalArgumentException
- if adding aWindow
to a containergetComponentZOrder(java.awt.Component)
,invalidate()
public int getComponentZOrder(Component comp)
comp
- the component being queriednull
or doesn't belong to the containersetComponentZOrder(java.awt.Component, int)
public void add(Component comp,Object constraints)
addImpl(java.awt.Component, java.lang.Object, int)
.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.
comp
- the component to be addedconstraints
- an object expressing layout constraints for this componentNullPointerException
- ifcomp
isnull
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)
.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.
comp
- the component to be addedconstraints
- an object expressing layout constraints for thisindex
- the position in the container's list at which to insert the component;-1
means insert at the end componentNullPointerException
- ifcomp
isnull
IllegalArgumentException
- ifindex
is invalid (seeaddImpl(java.awt.Component, java.lang.Object, int)
for details)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
method. The constraints are defined by the particular layout manager being used. For example, theBorderLayout
class defines five constraints:BorderLayout.NORTH
,BorderLayout.SOUTH
,BorderLayout.EAST
,BorderLayout.WEST
, andBorderLayout.CENTER
.
TheGridBagLayout
class requires aGridBagConstraints
object. Failure to pass the correct type of constraints object results in anIllegalArgumentException
.
If the current layout manager implementsLayoutManager2
, thenLayoutManager2.addLayoutComponent(Component,Object)
is invoked on it. If the current layout manager does not implementLayoutManager2
, and constraints is aString
, thenLayoutManager.addLayoutComponent(String,Component)
is invoked on it.
If the component is not an ancestor of this container and has a non-null parent, it is removed from its current parent before it is added to this container.
This is the method to override if a program needs to track every add request to a container as all other add methods defer to this one. An overriding method should usually include a call to the superclass's version of the method:
super.addImpl(comp, constraints, index)
This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.
comp
- the component to be addedconstraints
- an object expressing layout constraints for this componentindex
- the position in the container's list at which to insert the component, where-1
means append to the endIllegalArgumentException
- ifindex
is invalid; ifcomp
is a child of this container, the valid range is[-1, getComponentCount()-1]
; if component is not a child of this container, the valid range is[-1, getComponentCount()]
IllegalArgumentException
- ifcomp
is an ancestor of this containerIllegalArgumentException
- if adding a window to a containerNullPointerException
- ifcomp
isnull
add(Component)
,add(Component, int)
,add(Component, java.lang.Object)
,invalidate()
,LayoutManager
,LayoutManager2
public void remove(int index)
index
, from this container. This method also notifies the layout manager to remove the component from this container's layout via theremoveLayoutComponent
method.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to reflect the changes.
index
- the index of the component to be removedArrayIndexOutOfBoundsException
- ifindex
is not in range[0, getComponentCount()-1]
add(java.awt.Component)
,invalidate()
,validate()
,getComponentCount()
public void remove(Component comp)
removeLayoutComponent
method.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to reflect the changes.
comp
- the component to be removedNullPointerException
- ifcomp
isnull
add(java.awt.Component)
,invalidate()
,validate()
,remove(int)
public void removeAll()
removeLayoutComponent
method.This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to reflect the changes.
public LayoutManager getLayout()
public void setLayout(LayoutManager mgr)
This method changes layout-related information, and therefore, invalidates the component hierarchy.
mgr
- the specified layout managerdoLayout()
,getLayout()
,invalidate()
public void doLayout()
validate
method instead.doLayout
in class Component
LayoutManager.layoutContainer(java.awt.Container)
,setLayout(java.awt.LayoutManager)
,validate()
@Deprecatedpublic void layout()
doLayout()
.public boolean isValidateRoot()
Layout-related changes, such as bounds of the validate root descendants, do not affect the layout of the validate root parent. This peculiarity enables theinvalidate()
method to stop invalidating the component hierarchy when the method encounters a validate root. However, to preserve backward compatibility this new optimized behavior is enabled only when thejava.awt.smartInvalidate
system property value is set totrue
.
If a component hierarchy contains validate roots and the new optimizedinvalidate()
behavior is enabled, thevalidate()
method must be invoked on the validate root of a previously invalidated component to restore the validity of the hierarchy later. Otherwise, calling thevalidate()
method on the top-level container (such as aFrame
object) should be used to restore the validity of the component hierarchy.
TheWindow
class and theApplet
class are the validate roots in AWT. Swing introduces more validate roots.
invalidate()
,Component.invalidate()
,JComponent.isValidateRoot()
,JComponent.revalidate()
public void invalidate()
If theLayoutManager
installed on this container is an instance of theLayoutManager2
interface, then theLayoutManager2.invalidateLayout(Container)
method is invoked on it supplying thisContainer
as the argument.
Afterwards this method marks this container invalid, and invalidates its ancestors. See theComponent.invalidate()
method for more details.
invalidate
in class Component
validate()
,layout()
,LayoutManager2
public void validate()
Validating a container means laying out its subcomponents. Layout-related changes, such as setting the bounds of a component, or adding a component to the container, invalidate the container automatically. Note that the ancestors of the container may be invalidated also (seeComponent.invalidate()
for details.) Therefore, to restore the validity of the hierarchy, thevalidate()
method should be invoked on the top-most invalid container of the hierarchy.
Validating the container may be a quite time-consuming operation. For performance reasons a developer may postpone the validation of the hierarchy till a set of layout-related operations completes, e.g. after adding all the children to the container.
If thisContainer
is not valid, this method invokes thevalidateTree
method and marks thisContainer
as valid. Otherwise, no action is performed.
validate
in class Component
add(java.awt.Component)
,invalidate()
,isValidateRoot()
,JComponent.revalidate()
,validateTree()
protected void validateTree()
validate
.doLayout()
,validate()
public void setFont(Font f)
This method changes layout-related information, and therefore, invalidates the component hierarchy.
setFont
in class Component
f
- The font to become this container's font.Component.getFont()
,invalidate()
public Dimension getPreferredSize()
Component.setPreferredSize(Dimension)
and thisContainer
has anon-null
LayoutManager
, thenLayoutManager.preferredLayoutSize(Container)
is used to calculate the preferred size.Note: some implementations may cache the value returned from theLayoutManager
. Implementations that cache need not invokepreferredLayoutSize
on theLayoutManager
every time this method is invoked, rather theLayoutManager
will only be queried after theContainer
becomes invalid.
getPreferredSize
in class Component
Dimension
that represents the preferred size of this container.getMinimumSize()
,getMaximumSize()
,getLayout()
,LayoutManager.preferredLayoutSize(Container)
,Component.getPreferredSize()
@Deprecatedpublic Dimension preferredSize()
getPreferredSize()
.preferredSize
in class Component
public Dimension getMinimumSize()
Component.setMinimumSize(Dimension)
and thisContainer
has anon-null
LayoutManager
, thenLayoutManager.minimumLayoutSize(Container)
is used to calculate the minimum size.Note: some implementations may cache the value returned from theLayoutManager
. Implementations that cache need not invokeminimumLayoutSize
on theLayoutManager
every time this method is invoked, rather theLayoutManager
will only be queried after theContainer
becomes invalid.
getMinimumSize
in class Component
Dimension
that represents the minimum size of this container.getPreferredSize()
,getMaximumSize()
,getLayout()
,LayoutManager.minimumLayoutSize(Container)
,Component.getMinimumSize()
@Deprecatedpublic Dimension minimumSize()
getMinimumSize()
.minimumSize
in class Component
public Dimension getMaximumSize()
Component.setMaximumSize(Dimension)
and theLayoutManager
installed on thisContainer
is an instance ofLayoutManager2
, thenLayoutManager2.maximumLayoutSize(Container)
is used to calculate the maximum size.Note: some implementations may cache the value returned from theLayoutManager2
. Implementations that cache need not invokemaximumLayoutSize
on theLayoutManager2
every time this method is invoked, rather theLayoutManager2
will only be queried after theContainer
becomes invalid.
getMaximumSize
in class Component
Dimension
that represents the maximum size of this container.getPreferredSize()
,getMinimumSize()
,getLayout()
,LayoutManager2.maximumLayoutSize(Container)
,Component.getMaximumSize()
public float getAlignmentX()
getAlignmentX
in class Component
public float getAlignmentY()
getAlignmentY
in class Component
public void paint(Graphics g)
paint
in class Component
g
- the specified Graphics windowComponent.update(Graphics)
public void update(Graphics g)
update
in class Component
g
- the specified Graphics windowComponent.update(Graphics)
public void print(Graphics g)
print
in class Component
g
- the specified Graphics windowComponent.update(Graphics)
public void paintComponents(Graphics g)
g
- the graphics context.Component.paint(java.awt.Graphics)
,Component.paintAll(java.awt.Graphics)
public void printComponents(Graphics g)
g
- the graphics context.Component.print(java.awt.Graphics)
,Component.printAll(java.awt.Graphics)
public void addContainerListener(ContainerListener l)
Refer toAWT Threading Issues for details on AWT's threading model.
l
- the container listenerremoveContainerListener(java.awt.event.ContainerListener)
,getContainerListeners()
public void removeContainerListener(ContainerListener l)
Refer toAWT Threading Issues for details on AWT's threading model.
l
- the container listeneraddContainerListener(java.awt.event.ContainerListener)
,getContainerListeners()
public ContainerListener[] getContainerListeners()
ContainerListener
s or an empty array if no container listeners are currently registeredaddContainerListener(java.awt.event.ContainerListener)
,removeContainerListener(java.awt.event.ContainerListener)
public <T extendsEventListener> T[] getListeners(Class<T> listenerType)
FooListener
s upon thisContainer
.FooListener
s are registered using theaddFooListener
method. You can specify thelistenerType
argument with a class literal, such asFooListener.class
. For example, you can query aContainer
c
for its container listeners with the following code:
ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));If no such listeners exist, this method returns an empty array.
getListeners
in class Component
listenerType
- the type of listeners requested; this parameter should specify an interface that descends fromjava.util.EventListener
FooListener
s on this container, or an empty array if no such listeners have been addedClassCastException
- iflistenerType
doesn't specify a class or interface that implementsjava.util.EventListener
NullPointerException
- iflistenerType
isnull
getContainerListeners()
protected void processEvent(AWTEvent e)
ContainerEvent
, it invokes theprocessContainerEvent
method, else it invokes its superclass'sprocessEvent
.Note that if the event parameter isnull
the behavior is unspecified and may result in an exception.
processEvent
in class Component
e
- the eventComponent.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
Note that if the event parameter isnull
the behavior is unspecified and may result in an exception.
e
- the container eventComponent.enableEvents(long)
@Deprecatedpublic void deliverEvent(Event e)
dispatchEvent(AWTEvent e)
deliverEvent
in class Component
public Component getComponentAt(int x, int y)
getComponentAt
in class Component
x
- thex coordinatey
- they coordinateComponent.contains(int, int)
@Deprecatedpublic Component locate(int x, int y)
getComponentAt(int, int)
.public Component getComponentAt(Point p)
getComponentAt
in class Component
p
- the point.null
if the component does not contain the point.Component.contains(int, int)
public Point getMousePosition(boolean allowChildren) throwsHeadlessException
Container
's coordinate space if theContainer
is under the mouse pointer, otherwise returnsnull
. This method is similar toComponent.getMousePosition()
with the exception that it can take theContainer
's children into account. IfallowChildren
isfalse
, this method will return a non-null value only if the mouse pointer is above theContainer
directly, not above the part obscured by children. IfallowChildren
istrue
, this method returns a non-null value if the mouse pointer is aboveContainer
or any of its descendants.allowChildren
- true if children should be taken into accountComponent
, or nullHeadlessException
- if GraphicsEnvironment.isHeadless() returns trueComponent.getMousePosition()
public Component findComponentAt(int x, int y)
The findComponentAt method is different from getComponentAt in that getComponentAt only searches the Container's immediate children; if the containing component is a Container, findComponentAt will search that child to find a nested component.
x
- thex coordinatey
- they coordinateComponent.contains(int, int)
,getComponentAt(int, int)
public Component findComponentAt(Point p)
The findComponentAt method is different from getComponentAt in that getComponentAt only searches the Container's immediate children; if the containing component is a Container, findComponentAt will search that child to find a nested component.
p
- the point.NullPointerException
- ifp
isnull
Component.contains(int, int)
,getComponentAt(int, int)
public void addNotify()
addNotify
in class Component
Component.isDisplayable()
,removeNotify()
public void removeNotify()
removeNotify
in class Component
Component.isDisplayable()
,addNotify()
public boolean isAncestorOf(Component c)
c
- the componenttrue
if it is an ancestor;false
otherwise.protected String paramString()
Container
. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull
.paramString
in class Component
public void list(PrintStream out, int indent)
The immediate children of the container are printed with an indentation ofindent+1
. The children of those children are printed atindent+2
and so on.
list
in class Component
out
- a print streamindent
- the number of spaces to indentNullPointerException
- ifout
isnull
Component.list(java.io.PrintStream, int)
public void list(PrintWriter out, int indent)
The immediate children of the container are printed with an indentation ofindent+1
. The children of those children are printed atindent+2
and so on.
list
in class Component
out
- a print writerindent
- the number of spaces to indentNullPointerException
- ifout
isnull
Component.list(java.io.PrintWriter, int)
public void setFocusTraversalKeys(int id,Set<? extendsAWTKeyStroke> keystrokes)
The default values for a Container's focus traversal keys are implementation-dependent. Sun recommends that all implementations for a particular native platform use the same default values. The recommendations for Windows and Unix are listed below. These recommendations are used in the Sun AWT implementations.
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 |
Using the AWTKeyStroke API, client code can specify on which of two specific KeyEvents, KEY_PRESSED or KEY_RELEASED, the focus traversal operation will occur. Regardless of which KeyEvent is specified, however, all KeyEvents related to the focus traversal key, including the associated KEY_TYPED event, will be consumed, and will not be dispatched to any Container. It is a runtime error to specify a KEY_TYPED event as mapping to a focus traversal operation, or to map the same event to multiple default focus traversal operations.
If a value of null is specified for the Set, this Container inherits the Set from its parent. If all ancestors of this Container have null specified for the Set, then the current KeyboardFocusManager's default Set is used.
This method may throw aClassCastException
if anyObject
inkeystrokes
is not anAWTKeyStroke
.
setFocusTraversalKeys
in class Component
id
- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSkeystrokes
- the Set of AWTKeyStroke for the specified operationIllegalArgumentException
- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, or if keystrokes contains null, or if any keystroke represents a KEY_TYPED event, or if any keystroke already maps to another focus traversal operation for this ContainergetFocusTraversalKeys(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
for a full description of each key.)If a Set of traversal keys has not been explicitly defined for this Container, then this Container's parent's Set is returned. If no Set has been explicitly defined for any of this Container's ancestors, then the current KeyboardFocusManager's default Set is returned.
getFocusTraversalKeys
in class Component
id
- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSIllegalArgumentException
- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSsetFocusTraversalKeys(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
, this Container is inheriting the Set from an ancestor, or from the current KeyboardFocusManager.areFocusTraversalKeysSet
in class Component
id
- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYStrue
if the the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component;false
otherwise.IllegalArgumentException
- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSpublic boolean isFocusCycleRoot(Container container)
true
for both such Containers in this case.isFocusCycleRoot
in class Component
container
- the Container to be testedtrue
if the specified Container is a focus-cycle- root of this Container;false
otherwiseisFocusCycleRoot()
public void setFocusTraversalPolicy(FocusTraversalPolicy policy)
If this Container is not a focus cycle root, the policy will be remembered, but will not be used or inherited by this or any other Containers until this Container is made a focus cycle root.
policy
- the new focus traversal policy for this ContainergetFocusTraversalPolicy()
,setFocusCycleRoot(boolean)
,isFocusCycleRoot(java.awt.Container)
public FocusTraversalPolicy getFocusTraversalPolicy()
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,setFocusCycleRoot(boolean)
,isFocusCycleRoot(java.awt.Container)
public boolean isFocusTraversalPolicySet()
false
, this Container will inherit its focus traversal policy from an ancestor.true
if the focus traversal policy has been explicitly set for this Container;false
otherwise.public void setFocusCycleRoot(boolean focusCycleRoot)
The alternative way to specify the traversal order of this Container's children is to make this Container afocus traversal policy provider.
focusCycleRoot
- indicates whether this Container is the root of a focus traversal cycleisFocusCycleRoot()
,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
will be used to acquire focus traversal policy instead of closest focus cycle root ancestor.provider
- indicates whether this container will be used to provide focus traversal policysetFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,getFocusTraversalPolicy()
,isFocusTraversalPolicyProvider()
public final boolean isFocusTraversalPolicyProvider()
true
then when keyboard focus manager searches container hierarchy for focus traversal policy and encounters this container before any other container with this property as true or focus cycle roots then its focus traversal policy will be used instead of focus cycle root's policy.true
if this container provides focus traversal policy,false
otherwisesetFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,getFocusTraversalPolicy()
,setFocusCycleRoot(boolean)
,setFocusTraversalPolicyProvider(boolean)
public void transferFocusDownCycle()
public void applyComponentOrientation(ComponentOrientation o)
ComponentOrientation
property of this container and all components contained within it.This method changes layout-related information, and therefore, invalidates the component hierarchy.
applyComponentOrientation
in class Component
o
- the new component orientation of this container and the components contained within it.NullPointerException
- iforientation
is null.Component.setComponentOrientation(java.awt.ComponentOrientation)
,Component.getComponentOrientation()
,invalidate()
public void addPropertyChangeListener(PropertyChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
addPropertyChangeListener
in class Component
listener
- the PropertyChangeListener to be addedComponent.removePropertyChangeListener(java.beans.PropertyChangeListener)
,addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void addPropertyChangeListener(String propertyName,PropertyChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
addPropertyChangeListener
in class Component
propertyName
- one of the property names listed abovelistener
- the PropertyChangeListener to be addedaddPropertyChangeListener(java.beans.PropertyChangeListener)
,Component.removePropertyChangeListener(java.beans.PropertyChangeListener)