A generic Abstract Window Toolkit(AWT) container object is a component
that can contain other AWT components.
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).
add(Component comp, int index) Adds the specified component to this container at the given
position.
public void
add(Component comp, Object constraints) Adds the specified component to the end of this container.
public void
add(Component comp, Object constraints, int index) Adds the specified component to this container with the specified
constraints at the specified index.
areFocusTraversalKeysSet(int id) Returns whether the Set of focus traversal keys for the given focus
traversal operation has been explicitly defined for this Container.
boolean
canContainFocusOwner(Component focusOwnerCandidate) Checks whether this container can contain component which is focus owner.
void
checkGD(String stringID) Checks that all Components that this Container contains are on
the same GraphicsDevice as this Container.
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.
getMouseEventTarget(int x, int y, boolean includeSelf) Fetchs the top-most (deepest) lightweight component that is interested
in receiving mouse events.
getMousePosition(boolean allowChildren) Returns the position of the mouse pointer in this Container's
coordinate space if the Container is under the mouse pointer,
otherwise returns null.
invalidateTree() Recursively descends the container tree and invalidates all
contained components.
public boolean
isAncestorOf(Component c) Checks if the component is contained in the component hierarchy of
this container.
public boolean
isFocusCycleRoot(Container container) Returns whether the specified Container is the focus cycle root of this
Container's focus traversal cycle.
public boolean
isFocusCycleRoot() Returns whether this Container is the root of a focus traversal cycle.
Once focus enters a traversal cycle, typically it cannot leave it via
focus traversal unless one of the up- or down-cycle keys is pressed.
Normal traversal is limited to this Container, and all of this
Container's descendants that are not descendants of inferior focus
cycle roots.
paramString() Returns a string representing the state of this 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.
processContainerEvent(ContainerEvent e) Processes container events occurring on this container by
dispatching them to any registered ContainerListener objects.
proxyEnableEvents(long events) This is called by lightweight components that want the containing
windowed parent to enable some kind of events on their behalf.
public void
remove(int index) Removes the component, specified by index,
from this container.
public void
remove(Component comp) Removes the specified component from this container.
public void
removeAll() Removes all the components from this container.
removeNotify() Makes this Container undisplayable by removing its connection
to its native screen resource.
public void
setComponentZOrder(Component comp, int index) Moves the specified component to the specified z-order index in
the container.
public void
setFocusCycleRoot(boolean focusCycleRoot) Sets whether this Container is the root of a focus traversal cycle.
public void
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes) Sets the focus traversal keys for a given traversal operation for this
Container.
The default values for a Container's focus traversal keys are
implementation-dependent.
public 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.
final public void
setFocusTraversalPolicyProvider(boolean provider) Sets whether this container will be used to provide focus
traversal policy.
A constant which toggles one of the controllable behaviors
of getMouseEventTarget. It is used to specify whether
the method can return the Container on which it is originally called
in case if none of its children are the current mouse event targets.
See Also:Container.getMouseEventTarget(int,int,boolean,boolean,boolean)
Constructs a new Container. Containers can be extended directly,
but are lightweight in this case and must be contained by a parent
somewhere higher up in the component tree that is native.
(such as Frame for example).
Appends the specified component to the end of this container.
This is a convenience method for
Container.addImpl .
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Parameters: comp - the component to be added exception: NullPointerException - if comp is null See Also:Container.addImpl See Also:Container.validate See Also:javax.swing.JComponent.revalidate the component argument
Adds the specified component to this container at the given
position.
This is a convenience method for
Container.addImpl .
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Parameters: comp - the component to be added Parameters: index - the position at which to insert the component, or -1 to append the component to the end exception: NullPointerException - if comp is null exception: IllegalArgumentException - if index is invalid (seeContainer.addImpl for details) the component comp See Also:Container.addImpl See Also:Container.remove See Also:Container.validate See Also:javax.swing.JComponent.revalidate
Adds the specified component to the end of this container.
Also notifies the layout manager to add the component to
this container's layout using the specified constraints object.
This is a convenience method for
Container.addImpl .
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Parameters: comp - the component to be added Parameters: constraints - an object expressing layout contraints for this component exception: NullPointerException - if comp is null See Also:Container.addImpl See Also:Container.validate See Also:javax.swing.JComponent.revalidate See Also:LayoutManager since: JDK1.1
Adds the specified component to this container with the specified
constraints at the specified index. Also notifies the layout
manager to add the component to the this container's layout using
the specified constraints object.
This is a convenience method for
Container.addImpl .
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Parameters: comp - the component to be added Parameters: constraints - an object expressing layout contraints for this Parameters: index - the position in the container's list at which to insertthe component; -1 means insert at the endcomponent exception: NullPointerException - if comp is null exception: IllegalArgumentException - if index is invalid (seeContainer.addImpl for details) See Also:Container.addImpl See Also:Container.validate See Also:javax.swing.JComponent.revalidate See Also:Container.remove See Also:LayoutManager
Adds the specified container listener to receive container events
from this container.
If l is null, no exception is thrown and no action is performed.
Adds the specified component to this container at the specified
index. This method also notifies the layout manager to add
the component to this container's layout using the specified
constraints object via the addLayoutComponent
method.
The constraints are
defined by the particular layout manager being used. For
example, the BorderLayout class defines five
constraints: BorderLayout.NORTH,
BorderLayout.SOUTH, BorderLayout.EAST,
BorderLayout.WEST, and BorderLayout.CENTER.
The GridBagLayout class requires a
GridBagConstraints object. Failure to pass
the correct type of constraints object results in an
IllegalArgumentException.
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)
Parameters: comp - the component to be added Parameters: constraints - an object expressing layout constraints for this component Parameters: index - the position in the container's list at which toinsert the component, where -1 means append to the end exception: IllegalArgumentException - if index is invalid;if comp is a child of this container, the validrange is [-1, getComponentCount()-1] ; if component isnot a child of this container, the valid range is [-1, getComponentCount()] exception: IllegalArgumentException - if comp is an ancestor ofthis container exception: IllegalArgumentException - if adding a window to a container exception: NullPointerException - if comp is null See Also:Container.add(Component) See Also: See Also:Container.add(Component,int) See Also: See Also:Container.add(Component,java.lang.Object) See Also: See Also:LayoutManager See Also:LayoutManager2 since: JDK1.1
Makes this Container displayable by connecting it to
a native screen resource. Making a container displayable will
cause all of its children to be made displayable.
This method is called internally by the toolkit and should
not be called directly by programs.
See Also:Component.isDisplayable See Also:Container.removeNotify
Adds a PropertyChangeListener to the listener list for a specific
property. The specified property may be user-defined, or one of the
following defaults:
this Container's font ("font")
this Container's background color ("background")
this Container's foreground color ("foreground")
this Container's focusability ("focusable")
this Container's focus traversal keys enabled state
("focusTraversalKeysEnabled")
this Container's Set of FORWARD_TRAVERSAL_KEYS
("forwardFocusTraversalKeys")
this Container's Set of BACKWARD_TRAVERSAL_KEYS
("backwardFocusTraversalKeys")
this Container's Set of UP_CYCLE_TRAVERSAL_KEYS
("upCycleFocusTraversalKeys")
this Container's Set of DOWN_CYCLE_TRAVERSAL_KEYS
("downCycleFocusTraversalKeys")
this Container's focus traversal policy ("focusTraversalPolicy")
this Container's focus-cycle-root state ("focusCycleRoot")
this Container's focus-traversal-policy-provider state("focusTraversalPolicyProvider")
this Container's focus-traversal-policy-provider state("focusTraversalPolicyProvider")
Note that if this Container is inheriting a bound property, then no
event will be fired in response to a change in the inherited property.
Sets the ComponentOrientation property of this container
and all components contained within it.
Parameters: o - the new component orientation of this container andthe components contained within it. exception: NullPointerException - if orientation is null. See Also:Component.setComponentOrientation See Also:Component.getComponentOrientation since: 1.4
areFocusTraversalKeysSet
public boolean areFocusTraversalKeysSet(int id)(Code)
Returns whether the Set of focus traversal keys for the given focus
traversal operation has been explicitly defined for this Container. If
this method returns false, this Container is inheriting the
Set from an ancestor, or from the current KeyboardFocusManager.
Parameters: id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS true if the the Set of focus traversal keys for thegiven focus traversal operation has been explicitly defined forthis Component; false otherwise. throws: IllegalArgumentException - if id is not one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS since: 1.4
Checks whether this container can contain component which is focus owner.
Verifies that container is enable and showing, and if it is focus cycle root
its FTP allows component to be focus owner
since: 1.5
Locates the visible child component that contains the specified
position. The top-most child component is returned in the case
where there is overlap in the components. If the containing child
component is a Container, this method will continue searching for
the deepest nested child component. Components which are not
visible are ignored during the search.
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.
Parameters: x - the x coordinate Parameters: y - the y coordinate null if the component does not contain the position.If there is no child component at the requested point and the point is within the bounds of the container the container itself is returned. See Also:Component.contains See Also:Container.getComponentAt since: 1.2
findComponentAt
final Component findComponentAt(int x, int y, boolean ignoreEnabled)(Code)
Private version of findComponentAt which has a controllable
behavior. Setting 'ignoreEnabled' to 'false' bypasses disabled
Components during the search. This behavior is used by the
lightweight cursor support in sun.awt.GlobalCursorManager.
The cursor code calls this function directly via native code.
The addition of this feature is temporary, pending the
adoption of new, public API which exports this feature.
Locates the visible child component that contains the specified
point. The top-most child component is returned in the case
where there is overlap in the components. If the containing child
component is a Container, this method will continue searching for
the deepest nested child component. Components which are not
visible are ignored during the search.
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.
Parameters: p - the point. null if the component does not contain the position.If there is no child component at the requested point and the point is within the bounds of the container the container itself is returned. See Also:Component.contains See Also:Container.getComponentAt since: 1.2
findComponentAtImpl
final Component findComponentAtImpl(int x, int y, boolean ignoreEnabled)(Code)
Returns the Accessible child contained at the local
coordinate Point, if one exists. Otherwise
returns null.
Parameters: p - the point defining the top-left corner of the Accessible, given in the coordinate spaceof the object's parent the Accessible at the specified location,if it exists; otherwise null
Returns the number of accessible children in the object. If all
of the children of this object implement Accessible,
then this method should return the number of children of this object.
the number of accessible children in the object
Returns the alignment along the x axis. This specifies how
the component would like to be aligned relative to other
components. The value should be a number between 0 and 1
where 0 represents alignment along the origin, 1 is aligned
the furthest away from the origin, 0.5 is centered, etc.
Returns the alignment along the y axis. This specifies how
the component would like to be aligned relative to other
components. The value should be a number between 0 and 1
where 0 represents alignment along the origin, 1 is aligned
the furthest away from the origin, 0.5 is centered, etc.
Gets the nth component in this container.
Parameters: n - the index of the component to get. the nth component in this container. exception: ArrayIndexOutOfBoundsException - if the nth value does not exist.
Locates the component that contains the x,y position. The
top-most child component is returned in the case where there
is overlap in the components. This is determined by finding
the component closest to the index 0 that claims to contain
the given point via Component.contains(), except that Components
which have native peers take precedence over those which do not
(i.e., lightweight Components).
Parameters: x - the x coordinate Parameters: y - the y coordinate null if the component does not contain the position.If there is no child component at the requested point and the point is within the bounds of the container the container itself is returned; otherwise the top-most child is returned. See Also:Component.contains since: JDK1.1
Gets the component that contains the specified point.
Parameters: p - the point. returns the component that contains the point,or null if the component does not contain the point. See Also:Component.contains See Also: since: JDK1.1
Returns the z-order index of the component inside the container.
The higher a component is in the z-order hierarchy, the lower
its index. The component with the lowest z-order index is
painted last, above all other child components.
Parameters: comp - the component being queried the z-order index of the component; otherwise returns -1 if the component is nullor doesn't belong to the container See Also:Container.setComponentZOrder(java.awt.Component,int) since: 1.5
Returns an array of all the container listeners
registered on this container.
all of this container's ContainerListenersor an empty array if no containerlisteners are currently registered See Also:Container.addContainerListener See Also:Container.removeContainerListener since: 1.4
getDropTargetEventTarget
Component getDropTargetEventTarget(int x, int y, boolean includeSelf)(Code)
Fetches the top-most (deepest) component to receive SunDropTargetEvents.
Returns the Set of focus traversal keys for a given traversal operation
for this Container. (See
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.
Parameters: id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS the Set of AWTKeyStrokes for the specified operation. The Setwill be unmodifiable, and may be empty. null will never bereturned. See Also:Container.setFocusTraversalKeys See Also:KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS See Also:KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS throws: IllegalArgumentException - if id is not one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS since: 1.4
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. If no traversal policy has been explicitly set for this
Container, then this Container's focus-cycle-root ancestor's policy is
returned.
this Container's focus traversal policy, or null if thisContainer is not a focus cycle root. See Also:Container.setFocusTraversalPolicy See Also:Container.setFocusCycleRoot See Also:Container.isFocusCycleRoot since: 1.4
Determines the insets of this container, which indicate the size
of the container's border.
A Frame object, for example, has a top inset that
corresponds to the height of the frame's title bar.
the insets of this container. See Also:Insets See Also:LayoutManager since: JDK1.1
public T[] getListeners(Class<T> listenerType)(Code)
Returns an array of all the objects currently registered
as FooListeners
upon this Container.
FooListeners are registered using the
addFooListener method.
You can specify the listenerType argument
with a class literal, such as
FooListener.class.
For example, you can query a
Containerc
for its container listeners with the following code:
If no such listeners exist, this method returns an empty array.
Parameters: listenerType - the type of listeners requested; this parametershould specify an interface that descends fromjava.util.EventListener an array of all objects registered asFooListeners on this container,or an empty array if no such listeners have been added exception: ClassCastException - if listenerTypedoesn't specify a class or interface that implementsjava.util.EventListener See Also:Container.getContainerListeners since: 1.3
Note: some implementations may cache the value returned from the
LayoutManager2 . Implementations that cache need not invoke
maximumLayoutSize on the
LayoutManager2 every time
this method is invoked, rather the
LayoutManager2 will only
be queried after the
Container becomes invalid.
an instance of Dimension that representsthe maximum size of this container. See Also:Container.getPreferredSize See Also:Container.getMinimumSize See Also:Container.getLayout See Also:LayoutManager2.maximumLayoutSize(Container) See Also:Component.getMaximumSize
Note: some implementations may cache the value returned from the
LayoutManager . Implementations that cache need not invoke
minimumLayoutSize on the
LayoutManager every time
this method is invoked, rather the
LayoutManager will only
be queried after the
Container becomes invalid.
an instance of Dimension that representsthe minimum size of this container. See Also:Container.getPreferredSize See Also:Container.getMaximumSize See Also:Container.getLayout See Also:LayoutManager.minimumLayoutSize(Container) See Also:Component.getMinimumSize since: JDK1.1
getMouseEventTarget
Component getMouseEventTarget(int x, int y, boolean includeSelf)(Code)
Fetchs the top-most (deepest) lightweight component that is interested
in receiving mouse events.
Returns the position of the mouse pointer in this Container's
coordinate space if the Container is under the mouse pointer,
otherwise returns null.
This method is similar to
Component.getMousePosition with the exception
that it can take the Container's children into account.
If allowChildren is false, this method will return
a non-null value only if the mouse pointer is above the Container
directly, not above the part obscured by children.
If allowChildren is true, this method returns
a non-null value if the mouse pointer is above Container or any
of its descendants.
exception: HeadlessException - if GraphicsEnvironment.isHeadless() returns true Parameters: allowChildren - true if children should be taken into account See Also:Component.getMousePosition mouse coordinates relative to this Component, or null since: 1.5
Invalidates the container. The container and all parents
above it are marked as needing to be laid out. This method can
be called often, so it needs to execute quickly.
Checks if the component is contained in the component hierarchy of
this container.
Parameters: c - the component true if it is an ancestor; false otherwise. since: JDK1.1
Returns whether the specified Container is the focus cycle root of this
Container's focus traversal cycle. Each focus traversal cycle has only
a single focus cycle root and each Container which is not a focus cycle
root belongs to only a single focus traversal cycle. Containers which
are focus cycle roots belong to two cycles: one rooted at the Container
itself, and one rooted at the Container's nearest focus-cycle-root
ancestor. This method will return true for both such
Containers in this case.
Parameters: container - the Container to be tested true if the specified Container is a focus-cycle-root of this Container; false otherwise See Also:Container.isFocusCycleRoot() since: 1.4
Returns whether this Container is the root of a focus traversal cycle.
Once focus enters a traversal cycle, typically it cannot leave it via
focus traversal unless one of the up- or down-cycle keys is pressed.
Normal traversal is limited to this Container, and all of this
Container's descendants that are not descendants of inferior focus
cycle roots. Note that a FocusTraversalPolicy may bend these
restrictions, however. For example, ContainerOrderFocusTraversalPolicy
supports implicit down-cycle traversal.
whether this Container is the root of a focus traversal cycle See Also:Container.setFocusCycleRoot See Also:Container.setFocusTraversalPolicy See Also:Container.getFocusTraversalPolicy See Also:ContainerOrderFocusTraversalPolicy since: 1.4
isFocusTraversalPolicyProvider
final public boolean isFocusTraversalPolicyProvider()(Code)
Returns whether this container provides focus traversal
policy. If this property is set to 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.
See Also:Container.setFocusTraversalPolicy See Also:Container.getFocusTraversalPolicy See Also: See Also:Container.setFocusCycleRoot See Also:Container.setFocusTraversalPolicyProvidertrue if this container provides focus traversalpolicy, false otherwise since: 1.5
Returns whether the focus traversal policy has been explicitly set for
this Container. If this method returns false, this
Container will inherit its focus traversal policy from an ancestor.
true if the focus traversal policy has beenexplicitly set for this Container; false otherwise. since: 1.4
Simulates the peer callbacks into java.awt for printing of
lightweight Containers.
Parameters: g - the graphics context to use for printing. See Also:Component.printAll See Also:Container.printComponents
Simulates the peer callbacks into java.awt for printing of
lightweight Containers.
Parameters: g - the graphics context to use for printing. See Also:Component.printAll See Also:Container.printComponents
Prints a listing of this container to the specified output
stream. The listing starts at the specified indentation.
The immediate children of the container are printed with
an indentation of indent+1. The children
of those children are printed at indent+2
and so on.
Parameters: out - a print stream Parameters: indent - the number of spaces to indent See Also:Component.list(java.io.PrintStreamint) since: JDK1.0
Prints out a list, starting at the specified indentation,
to the specified print writer.
The immediate children of the container are printed with
an indentation of indent+1. The children
of those children are printed at indent+2
and so on.
Parameters: out - a print writer Parameters: indent - the number of spaces to indent See Also:Component.list(java.io.PrintWriterint) since: JDK1.1
Paints the container. This forwards the paint to any lightweight
components that are children of this container. If this method is
reimplemented, super.paint(g) should be called so that lightweight
components are properly rendered. If a child component is entirely
clipped by the current clipping setting in g, paint() will not be
forwarded to that child.
Parameters: g - the specified Graphics window See Also:Component.update(Graphics)
Returns a string representing the state of this 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 be
null.
the parameter string of this container
Prints the container. This forwards the print to any lightweight
components that are children of this container. If this method is
reimplemented, super.print(g) should be called so that lightweight
components are properly rendered. If a child component is entirely
clipped by the current clipping setting in g, print() will not be
forwarded to that child.
Parameters: g - the specified Graphics window See Also:Component.update(Graphics)
Processes container events occurring on this container by
dispatching them to any registered ContainerListener objects.
NOTE: This method will not be called unless container events
are enabled for this component; this happens when one of the
following occurs:
A ContainerListener object is registered via
addContainerListener
Container events are enabled via enableEvents
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
Parameters: e - the container event See Also:Component.enableEvents
Processes events on this container. If the event is a
ContainerEvent, it invokes the
processContainerEvent method, else it invokes
its superclass's processEvent.
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
Parameters: e - the event
This is called by lightweight components that want the containing
windowed parent to enable some kind of events on their behalf.
This is needed for events that are normally only dispatched to
windows to be accepted so that they can be forwarded downward to
the lightweight component that has enabled them.
Removes the component, specified by index,
from this container.
This method also notifies the layout manager to remove the
component from this container's layout via the
removeLayoutComponent method.
Note: If a component has been removed from a container that
had been displayed,
Container.validate must be
called on that container to reflect changes.
If multiple components are being removed, you can improve
efficiency by calling
Container.validate only once,
after all the components have been removed.
Parameters: index - the index of the component to be removed throws: ArrayIndexOutOfBoundsException - if index is not inrange [0, getComponentCount()-1] See Also:Container.add See Also:Container.validate See Also:Container.getComponentCount since: JDK1.1
Removes the specified component from this container.
This method also notifies the layout manager to remove the
component from this container's layout via the
removeLayoutComponent method.
Note: If a component has been removed from a container that
had been displayed,
Container.validate must be
called on that container to reflect changes.
If multiple components are being removed, you can improve
efficiency by calling
Container.validate only once,
after all the components have been removed.
Parameters: comp - the component to be removed See Also:Container.add See Also:Container.validate See Also:Container.remove(int)
Removes all the components from this container.
This method also notifies the layout manager to remove the
components from this container's layout via the
removeLayoutComponent method.
See Also:Container.add See Also:Container.remove
Removes the specified container listener so it no longer receives
container events from this container.
If l is null, no exception is thrown and no action is performed.
Makes this Container undisplayable by removing its connection
to its native screen resource. Making a container undisplayable
will cause all of its children to be made undisplayable.
This method is called by the toolkit internally and should
not be called directly by programs.
See Also:Component.isDisplayable See Also:Container.addNotify
setComponentZOrder
public void setComponentZOrder(Component comp, int index)(Code)
Moves the specified component to the specified z-order index in
the container. The z-order determines the order that components
are painted; the component with the highest z-order paints first
and the component with the lowest z-order paints last.
Where components overlap, the component with the lower
z-order paints over the component with the higher z-order.
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 and
java.awt.Container.add(Component, int) is that this method
doesn't call removeNotify 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.
Note: Not all platforms support changing the z-order of
heavyweight components from one container into another without
the call to removeNotify. There is no way to detect
whether a platform supports this, so developers shouldn't make
any assumptions.
Parameters: comp - the component to be moved Parameters: index - the position in the container's list toinsert the component, where getComponentCount()appends to the end exception: NullPointerException - if comp isnull exception: IllegalArgumentException - if comp is one of thecontainer's parents exception: IllegalArgumentException - if index is not inthe range [0, getComponentCount()] for moving between containers, or not in the range [0, getComponentCount()-1] for moving insidea container exception: IllegalArgumentException - if adding a container to itself exception: IllegalArgumentException - if adding a Windowto a container See Also:Container.getComponentZOrder(java.awt.Component) since: 1.5
setFocusCycleRoot
public void setFocusCycleRoot(boolean focusCycleRoot)(Code)
Sets whether this Container is the root of a focus traversal cycle. Once
focus enters a traversal cycle, typically it cannot leave it via focus
traversal unless one of the up- or down-cycle keys is pressed. Normal
traversal is limited to this Container, and all of this Container's
descendants that are not descendants of inferior focus cycle roots. Note
that a FocusTraversalPolicy may bend these restrictions, however. For
example, ContainerOrderFocusTraversalPolicy supports implicit down-cycle
traversal.
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)(Code)
Sets the focus traversal keys for a given traversal operation for this
Container.
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
To disable a traversal key, use an empty Set; Collections.EMPTY_SET is
recommended.
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.
Parameters: id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS Parameters: keystrokes - the Set of AWTKeyStroke for the specified operation See Also:Container.getFocusTraversalKeys See Also:KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS See Also:KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS throws: IllegalArgumentException - if id is not one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, or if keystrokescontains null, or if any Object in keystrokes is not anAWTKeyStroke, or if any keystroke represents a KEY_TYPED event,or if any keystroke already maps to another focus traversaloperation for this Container since: 1.4
Sets the focus traversal policy that will manage keyboard traversal of
this Container's children, if this Container is a focus cycle root. If
the argument is null, this Container inherits its policy from its focus-
cycle-root ancestor. If the argument is non-null, this policy will be
inherited by all focus-cycle-root children that have no keyboard-
traversal policy of their own (as will, recursively, their focus-cycle-
root children).
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.
Parameters: policy - the new focus traversal policy for this Container See Also:Container.getFocusTraversalPolicy See Also:Container.setFocusCycleRoot See Also:Container.isFocusCycleRoot since: 1.4
setFocusTraversalPolicyProvider
final public void setFocusTraversalPolicyProvider(boolean provider)(Code)
Sets whether this container will be used to provide focus
traversal policy. Container with this property as
true will be used to acquire focus traversal policy
instead of closest focus cycle root ancestor.
Parameters: provider - indicates whether this container will be used toprovide focus traversal policy See Also:Container.setFocusTraversalPolicy See Also:Container.getFocusTraversalPolicy See Also: See Also:Container.isFocusTraversalPolicyProvider since: 1.5
Transfers the focus down one focus traversal cycle. If this Container is
a focus cycle root, then the focus owner is set to this Container's
default Component to focus, and the current focus cycle root is set to
this Container. If this Container is not a focus cycle root, then no
focus traversal operation occurs.
See Also:Component.requestFocus See Also:Container.isFocusCycleRoot See Also:Container.setFocusCycleRoot since: 1.4
Updates the container. This forwards the update to any lightweight
components that are children of this container. If this method is
reimplemented, super.update(g) should be called so that lightweight
components are properly rendered. If a child component is entirely
clipped by the current clipping setting in g, update() will not be
forwarded to that child.
Parameters: g - the specified Graphics window See Also:Component.update(Graphics)
Validates this container and all of its subcomponents.
The validate method is used to cause a container
to lay out its subcomponents again. It should be invoked when
this container's subcomponents are modified (added to or
removed from the container, or layout-related information
changed) after the container has been displayed.
Recursively descends the container tree and recomputes the
layout for any subtrees marked as needing it (those marked as
invalid). Synchronization should be provided by the method
that calls this one: validate.
See Also:Container.doLayout See Also:Container.validate