public class Container extends Component
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(java.awt.Component, int)
,
getComponent(int)
,
LayoutManager
,
Serialized FormBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
Container()
Constructs a new Container.
|
Modifier and Type | Method and 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.
|
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.
|
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.
|
ContainerListener[] |
getContainerListeners()
Returns an array of all the container listeners
registered on this container.
|
Set |
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.
|
Dimension |
getMaximumSize()
Returns the maximum size of this container.
|
Dimension |
getMinimumSize()
Returns the minimum size of this container.
|
Dimension |
getPreferredSize()
Returns the preferred size of this container.
|
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 |
isFocusTraversalPolicySet()
Returns whether the focus traversal policy has been explicitly set for
this Container.
|
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 indention, to the specified
print writer.
|
void |
paint(Graphics g)
Paints the container.
|
void |
paintComponents(Graphics g)
Paints each of the components in this container.
|
protected String |
paramString()
Returns a string representing the state of this
Container . |
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 |
setFocusCycleRoot(boolean focusCycleRoot)
Sets whether this Container is the root of a focus traversal cycle.
|
void |
setFocusTraversalKeys(int id,
Set 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 |
setFont(Font f)
Sets the font of this container.
|
void |
setLayout(LayoutManager mgr)
Sets the layout manager for this container.
|
void |
transferFocusBackward()
Transfers the focus to the previous component, as though this Component
were the focus owner.
|
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).
|
addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getCursor, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, setBackground, setBounds, setBounds, setCursor, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, toString, transferFocus, transferFocusUpCycle
public Container()
public int getComponentCount()
getComponent(int)
public Component getComponent(int n)
n
- the index of the component to get.ArrayIndexOutOfBoundsException
- if the nth value does not exist.public Component[] getComponents()
public Insets getInsets()
A Frame
object, for example, has a top inset that
corresponds to the height of the frame's title bar.
Insets
,
LayoutManager
public Component add(Component comp)
addImpl(java.awt.Component, java.lang.Object, int)
.
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.
comp
- the component to be addedaddImpl(java.awt.Component, java.lang.Object, int)
,
validate()
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
method add(Component, Object)
instead.
add(Component, Object)
public Component add(Component comp, int index)
addImpl(java.awt.Component, java.lang.Object, int)
.
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.
comp
- the component to be addedindex
- the position at which to insert the component,
or -1
to append the component to the endcomp
addImpl(java.awt.Component, java.lang.Object, int)
,
remove(int)
,
validate()
public void add(Component comp, Object constraints)
addImpl(java.awt.Component, java.lang.Object, int)
.
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.
comp
- the component to be addedconstraints
- an object expressing
layout contraints for this componentaddImpl(java.awt.Component, java.lang.Object, int)
,
validate()
,
LayoutManager
public void add(Component comp, Object constraints, int index)
addImpl(java.awt.Component, java.lang.Object, int)
.
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.
comp
- the component to be addedconstraints
- an object expressing layout contraints for thisindex
- the position in the container's list at which to insert
the component; -1
means insert at the end
componentaddImpl(java.awt.Component, java.lang.Object, int)
,
validate()
,
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, the BorderLayout
class defines five
constraints: BorderLayout.NORTH
,
BorderLayout.SOUTH
, BorderLayout.EAST
,
BorderLayout.WEST
, and BorderLayout.CENTER
.
Note that if the component already exists in this container or a child of this container, it is removed from that container before being 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)
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
- if index
is invalidIllegalArgumentException
- if adding the container's parent
to itselfIllegalArgumentException
- if adding a window to a containeradd(Component)
,
add(Component, int)
,
add(Component, java.lang.Object)
,
LayoutManager
,
LayoutManager2
public void remove(int index)
index
,
from this container.index
- the index of the component to be removed.add(java.awt.Component)
public void remove(Component comp)
comp
- the component to be removedadd(java.awt.Component)
public void removeAll()
add(java.awt.Component)
,
remove(int)
public LayoutManager getLayout()
doLayout()
,
setLayout(java.awt.LayoutManager)
public void setLayout(LayoutManager mgr)
mgr
- the specified layout managerdoLayout()
,
getLayout()
public void doLayout()
validate
method instead.doLayout
in class Component
LayoutManager.layoutContainer(java.awt.Container)
,
setLayout(java.awt.LayoutManager)
,
validate()
public void invalidate()
invalidate
in class Component
validate()
,
LayoutManager
public void validate()
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.
validate
in class Component
add(java.awt.Component)
,
Component.invalidate()
protected void validateTree()
validate
.public void setFont(Font f)
setFont
in class Component
f
- The font to become this container's font.Component.getFont()
public Dimension getPreferredSize()
getPreferredSize
in class Component
Dimension
that represents
the preferred size of this container.getMinimumSize()
,
getLayout()
,
LayoutManager.preferredLayoutSize(Container)
,
Component.getPreferredSize()
public Dimension getMinimumSize()
getMinimumSize
in class Component
Dimension
that represents
the minimum size of this container.getPreferredSize()
,
getLayout()
,
LayoutManager.minimumLayoutSize(Container)
,
Component.getMinimumSize()
public Dimension getMaximumSize()
getMaximumSize
in class Component
getPreferredSize()
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)
l
- the container listenerremoveContainerListener(java.awt.event.ContainerListener)
public void removeContainerListener(ContainerListener l)
l
- the container listeneraddContainerListener(java.awt.event.ContainerListener)
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)
protected void processEvent(AWTEvent e)
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.
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.processMouseWheelEvent(java.awt.event.MouseWheelEvent)
protected void processContainerEvent(ContainerEvent e)
addContainerListener
enableEvents
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
e
- the container eventComponent.enableEvents(long)
public Component getComponentAt(int x, int y)
getComponentAt
in class Component
x
- the x coordinatey
- the y coordinateComponent.contains(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 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
- the x coordinatey
- the y 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.Component.contains(int, int)
,
getComponentAt(int, int)
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 be
null
.paramString
in class Component
public void list(PrintStream out, int indent)
list
in class Component
out
- a print stream.indent
- the number of spaces to indent.Component.list(java.io.PrintStream, int)
public void list(PrintWriter out, int indent)
list
in class Component
out
- the print writer to print toindent
- the number of spaces to indentPrintStream.println(java.lang.Object)
public void setFocusTraversalKeys(int id, Set 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.
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 Object in keystrokes is not an
AWTKeyStroke, 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 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)
,
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 transferFocusBackward()
Component
transferFocusBackward
in class Component
Component.requestFocus()
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)
focusCycleRoot
- indicates whether this Container is the root of a
focus traversal cycleisFocusCycleRoot()
,
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
getFocusTraversalPolicy()
,
ContainerOrderFocusTraversalPolicy
public boolean isFocusCycleRoot()
setFocusCycleRoot(boolean)
,
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
getFocusTraversalPolicy()
,
ContainerOrderFocusTraversalPolicy
public void transferFocusDownCycle()
Component.requestFocus()
,
isFocusCycleRoot(java.awt.Container)
,
setFocusCycleRoot(boolean)
Copyright © 2012 CableLabs. All Rights Reserved.