A component is an object having a graphical representation
that can be displayed on the screen and that can interact with the
user. Examples of components are the buttons, checkboxes, and scrollbars
of a typical graphical user interface.
The Component class is the abstract superclass of
the nonmenu-related Abstract Window Toolkit components. Class
Component can also be extended directly to create a
lightweight component. A lightweight component is a component that is
not associated with a native opaque window.
Serialization
It is important to note that only AWT listeners which conform
to the Serializable protocol will be saved when
the object is stored. If an AWT object has listeners that
aren't marked serializable, they will be dropped at
writeObject time. Developers will need, as always,
to consider the implications of making an object serializable.
One situation to watch out for is this:
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;
class MyApp implements ActionListener, Serializable
{
BigObjectThatShouldNotBeSerializedWithAButton bigOne;
Button aButton = new Button();
MyApp()
{
// Oops, now aButton has a listener with a reference
// to bigOne!
aButton.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("Hello There");
}
}
In this example, serializing aButton by itself
will cause MyApp and everything it refers to
to be serialized as well. The problem is that the listener
is serializable by coincidence, not by design. To separate
the decisions about MyApp and the
ActionListener being serializable one can use a
nested class, as in the following example:
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;
class MyApp java.io.Serializable
{
BigObjectThatShouldNotBeSerializedWithAButton bigOne;
Button aButton = new Button();
static class MyActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Hello There");
}
}
MyApp()
{
aButton.addActionListener(new MyActionListener());
}
}
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
For details on the focus subsystem, see
How to Use the Focus Subsystem,
a section in The Java Tutorial, and the
Focus Specification
for more information.
version: 1.442, 06/25/07 author: Arthur van Hoff author: Sami Shaio
Inner Class :static class AWTTreeLock
Inner Class :public enum BaselineResizeBehavior
Inner Class :protected class FlipBufferStrategy extends BufferStrategy
Inner Class :protected class BltBufferStrategy extends BufferStrategy
newEventsOnly newEventsOnly will be true if the event is
one of the event types enabled for the component.
It will then allow for normal processing to
continue.
addFocusListener(FocusListener l) Adds the specified focus listener to receive focus events from
this component when this component gains input focus.
public void
addHierarchyBoundsListener(HierarchyBoundsListener l) Adds the specified hierarchy bounds listener to receive hierarchy
bounds events from this component when the hierarchy to which this
container belongs changes.
public void
addHierarchyListener(HierarchyListener l) Adds the specified hierarchy listener to receive hierarchy changed
events from this component when the hierarchy to which this container
belongs changes.
areFocusTraversalKeysSet(int id) Returns whether the Set of focus traversal keys for the given focus
traversal operation has been explicitly defined for this Component.
checkGD(String stringID) Checks that this component's GraphicsDeviceidString matches the string argument.
public int
checkImage(Image image, ImageObserver observer) Returns the status of the construction of a screen representation
of the specified image.
This method does not cause the image to begin loading.
public int
checkImage(Image image, int width, int height, ImageObserver observer) Returns the status of the construction of a screen representation
of the specified image.
This method does not cause the image to begin loading.
contains(int x, int y) Checks whether this component "contains" the specified point,
where x and y are defined to be
relative to the coordinate system of this component.
public boolean
contains(Point p) Checks whether this component "contains" the specified point,
where the point's x and y coordinates are defined
to be relative to the coordinate system of this component.
createBufferStrategy(int numBuffers) Creates a new strategy for multi-buffering on this component.
Multi-buffering is useful for rendering performance.
void
createBufferStrategy(int numBuffers, BufferCapabilities caps) Creates a new strategy for multi-buffering on this component with the
required buffer capabilities.
createImage(int width, int height) Creates an off-screen drawable image
to be used for double buffering.
Parameters: width - the specified width Parameters: height - the specified height an off-screen drawable image, which can be used for doublebuffering.
createVolatileImage(int width, int height) Creates a volatile off-screen drawable image
to be used for double buffering.
Parameters: width - the specified width. Parameters: height - the specified height.
findUnderMouseInWindow(PointerInfo pi) Assuming that mouse location is stored in PointerInfo passed
to this method, it finds a Component that is in the same
Window as this Component and is located under the mouse pointer.
getComponentAt(int x, int y) Determines if this component or one of its immediate
subcomponents contains the (x, y) location,
and if so, returns the containing component.
getFocusTraversalKeys(int id) Returns the Set of focus traversal keys for a given traversal operation
for this Component.
public boolean
getFocusTraversalKeysEnabled() Returns whether focus traversal keys are enabled for this Component.
Components for which focus traversal keys are disabled receive key
events for focus traversal keys.
getFontMetrics(Font font) Gets the font metrics for the specified font.
Warning: Since Font metrics are affected by the
java.awt.font.FontRenderContext FontRenderContext and
this method does not provide one, it can return only metrics for
the default render context which may not match that used when
rendering on the Component if
Graphics2D functionality is being
used.
getInputContext() Gets the input context used by this component for handling
the communication with input methods when text is entered
in this component.
getLocation() Gets the location of this component in the form of a
point specifying the component's top-left corner.
The location will be relative to the parent's coordinate space.
Due to the asynchronous nature of native event handling, this
method can return outdated values (for instance, after several calls
of setLocation() in rapid succession).
getLocationOnScreen() Gets the location of this component in the form of a point
specifying the component's top-left corner in the screen's
coordinate space.
getMousePosition() Returns the position of the mouse pointer in this Component's
coordinate space if the Component is directly under the mouse
pointer, otherwise returns null.
If the Component is not showing on the screen, this method
returns null even if the mouse pointer is above the area
where the Component would be displayed.
If the Component is partially or fully obscured by other
Components or native windows, this method returns a non-null
value only if the mouse pointer is located above the unobscured part of the
Component.
For Containers it returns a non-null value if the mouse is
above the Container itself or above any of its descendants.
Use
Container.getMousePosition(boolean) if you need to exclude children.
Sometimes the exact mouse coordinates are not important, and the only thing
that matters is whether a specific Component is under the mouse
pointer.
getTreeLock() Gets this component's locking object (the object that owns the thread
sychronization monitor) for AWT component-tree and layout
operations.
public int
getWidth() Returns the current width of this component.
public int
getX() Returns the current x coordinate of the components origin.
public int
getY() Returns the current y coordinate of the components origin.
imageUpdate(Image img, int infoflags, int x, int y, int w, int h) Repaints the component when the image has changed.
This imageUpdate method of an ImageObserver
is called when more information about an
image which had been previously requested using an asynchronous
routine such as the drawImage method of
Graphics becomes available.
See the definition of imageUpdate for
more information on this method and its arguments.
The imageUpdate method of Component
incrementally draws an image on the component as more of the bits
of the image are available.
If the system property awt.image.incrementaldraw
is missing or has the value true, the image is
incrementally drawn.
isFocusable() Returns whether this Component can be focused.
public boolean
isFontSet() Returns whether the font has been explicitly set for this Component.
public boolean
isForegroundSet() Returns whether the foreground color has been explicitly set for this
Component.
static boolean
isInstanceOf(Object obj, String className) Checks that the given object is instance of the given class.
Parameters: obj - Object to be checked Parameters: className - The name of the class.
public boolean
isLightweight() A lightweight component doesn't have a native toolkit peer.
public boolean
isMaximumSizeSet() Returns true if the maximum size has been set to a non-null
value otherwise returns false.
public boolean
isMinimumSizeSet() Returns whether or not setMinimumSize has been
invoked with a non-null value.
public boolean
isOpaque() Returns true if this component is completely opaque, returns
false by default.
An opaque component paints every pixel within its
rectangular region.
public boolean
isPreferredSizeSet() Returns true if the preferred size has been set to a
non-null value otherwise returns false.
boolean
isRecursivelyVisible() Determines whether this component will be displayed on the screen.
prepareImage(Image image, int width, int height, ImageObserver observer) Prepares an image for rendering on this component at the
specified width and height.
processComponentEvent(ComponentEvent e) Processes component events occurring on this component by
dispatching them to any registered
ComponentListener objects.
This method is not called unless component events are
enabled for this component.
processFocusEvent(FocusEvent e) Processes focus events occurring on this component by
dispatching them to any registered
FocusListener objects.
This method is not called unless focus events are
enabled for this component.
protected void
processHierarchyBoundsEvent(HierarchyEvent e) Processes hierarchy bounds events occurring on this component by
dispatching them to any registered
HierarchyBoundsListener objects.
This method is not called unless hierarchy bounds events
are enabled for this component.
protected void
processHierarchyEvent(HierarchyEvent e) Processes hierarchy events occurring on this component by
dispatching them to any registered
HierarchyListener objects.
This method is not called unless hierarchy events
are enabled for this component.
protected void
processInputMethodEvent(InputMethodEvent e) Processes input method events occurring on this component by
dispatching them to any registered
InputMethodListener objects.
This method is not called unless input method events
are enabled for this component.
protected void
processKeyEvent(KeyEvent e) Processes key events occurring on this component by
dispatching them to any registered
KeyListener objects.
This method is not called unless key events are
enabled for this component.
protected void
processMouseEvent(MouseEvent e) Processes mouse events occurring on this component by
dispatching them to any registered
MouseListener objects.
This method is not called unless mouse events are
enabled for this component.
protected void
processMouseMotionEvent(MouseEvent e) Processes mouse motion events occurring on this component by
dispatching them to any registered
MouseMotionListener objects.
This method is not called unless mouse motion events are
enabled for this component.
protected void
processMouseWheelEvent(MouseWheelEvent e) Processes mouse wheel events occurring on this component by
dispatching them to any registered
MouseWheelListener objects.
This method is not called unless mouse wheel events are
enabled for this component.
public void
remove(MenuComponent popup) Removes the specified popup menu from the component.
removeHierarchyListener(HierarchyListener l) Removes the specified hierarchy listener so that it no longer
receives hierarchy changed events from this component.
requestFocus(boolean temporary) Requests that this Component get the input focus,
and that this Component's top-level ancestor
become the focused Window.
requestFocusInWindow(boolean temporary) Requests that this Component get the input focus,
if this Component's top-level ancestor is already
the focused Window.
setEnabled(boolean b) Enables or disables this component, depending on the value of the
parameter b.
public void
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes) Sets the focus traversal keys for a given traversal operation for this
Component.
The default values for a Component's focus traversal keys are
implementation-dependent.
public void
setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled) Sets whether focus traversal keys are enabled for this Component.
Components for which focus traversal keys are disabled receive key
events for focus traversal keys.
The eventMask is ONLY set by subclasses via
enableEvents.
The mask should NOT be set when listeners are registered
so that we can distinguish the difference between when
listeners request events and subclasses request them.
One bit is used to indicate whether input methods are
enabled; this bit is set by enableInputMethods and is
on by default.
See Also:Component.enableInputMethods See Also:AWTEvent
The focus traversal keys. These keys will generate focus traversal
behavior for Components for which focus traversal keys are enabled. If a
value of null is specified for a traversal key, this Component inherits
that traversal key from its parent. If all ancestors of this Component
have null specified for that traversal key, then the current
KeyboardFocusManager's default traversal key is used.
See Also:Component.setFocusTraversalKeys See Also:Component.getFocusTraversalKeys since: 1.4
newEventsOnly will be true if the event is
one of the event types enabled for the component.
It will then allow for normal processing to
continue. If it is false the event is passed
to the component's parent and up the ancestor
tree until the event has been consumed.
See Also:Component.dispatchEvent
The peer of the component. The peer implements the component's
behavior. The peer is set when the Component is
added to a container that also is a peer.
See Also:Component.addNotify See Also:Component.removeNotify
Constructs a new component. Class Component can be
extended directly to create a lightweight component that does not
utilize an opaque native window. A lightweight component must be
hosted by a native container somewhere higher up in the component
tree (for example, by a Frame object).
Adds the specified popup menu to the component.
Parameters: popup - the popup menu to be added to the component. See Also:Component.remove(MenuComponent) exception: NullPointerException - if popup is null since: JDK1.1
Adds the specified component listener to receive component events from
this component.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified focus listener to receive focus events from
this component when this component gains input focus.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified hierarchy bounds listener to receive hierarchy
bounds events from this component when the hierarchy to which this
container belongs changes.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified hierarchy listener to receive hierarchy changed
events from this component when the hierarchy to which this container
belongs changes.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified input method listener to receive
input method events from this component. A component will
only receive input method events from input methods
if it also overrides getInputMethodRequests to return an
InputMethodRequests instance.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified mouse listener to receive mouse events from
this component.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified mouse motion listener to receive mouse motion
events from this component.
If listener l is null,
no exception is thrown and no action is performed.
Adds the specified mouse wheel listener to receive mouse wheel events
from this component. Containers also receive mouse wheel events from
sub-components.
For information on how mouse wheel events are dispatched, see
the class description for
MouseWheelEvent .
If l is null, no exception is thrown and no
action is performed.
Makes this Component displayable by connecting it to a
native screen resource.
This method is called internally by the toolkit and should
not be called directly by programs.
See Also:Component.isDisplayable See Also:Component.removeNotify since: JDK1.0
Sets the ComponentOrientation property of this component
and all components contained within it.
Parameters: orientation - the new component orientation of this component 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 Component. If
this method returns false, this Component is inheriting the
Set from an ancestor, or from the current KeyboardFocusManager.
Parameters: id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, orKeyboardFocusManager.UP_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, orKeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS since: 1.4
Checks that this component meets the prerequesites to be focus owner:
- it is enabled, visible, focusable
- it's parents are all enabled and showing
- top-level window is focusable
- if focus cycle root has DefaultFocusTraversalPolicy then it also checks that this policy accepts
this component as focus owner
since: 1.5
Returns the status of the construction of a screen representation
of the specified image.
This method does not cause the image to begin loading. An
application must use the prepareImage method
to force the loading of an image.
The checkImage method of Component
calls its peer's checkImage method to calculate
the flags. If this component does not yet have a peer, the
component's toolkit's checkImage method is called
instead.
Information on the flags returned by this method can be found
with the discussion of the ImageObserver interface.
Parameters: image - the Image object whose statusis being checked Parameters: width - the width of the scaled versionwhose status is to be checked Parameters: height - the height of the scaled versionwhose status is to be checked Parameters: observer - the ImageObserver objectto be notified as the image is being prepared the bitwise inclusive OR ofImageObserver flags indicating whatinformation about the image is currently available See Also:Component.prepareImage(Image,int,int,java.awt.image.ImageObserver) See Also:Toolkit.checkImage(Imageintintjava.awt.image.ImageObserver) See Also:java.awt.image.ImageObserver since: JDK1.0
Potentially coalesce an event being posted with an existing
event. This method is called by EventQueue.postEvent
if an event with the same ID as the event to be posted is found in
the queue (both events must have this component as their source).
This method either returns a coalesced event which replaces
the existing event (and the new event is then discarded), or
null to indicate that no combining should be done
(add the second event to the end of the queue). Either event
parameter may be modified and returned, as the other one is discarded
unless null is returned.
This implementation of coalesceEvents coalesces
two event types: mouse move (and drag) events,
and paint (and update) events.
For mouse move events the last event is always returned, causing
intermediate moves to be discarded. For paint events, the new
event is coalesced into a complex RepaintArea in the peer.
The new AWTEvent is always returned.
Parameters: existingEvent - the event already on the EventQueue Parameters: newEvent - the event being posted to the EventQueue a coalesced event, or null indicating that no coalescing was done
Checks whether this component "contains" the specified point,
where x and y are defined to be
relative to the coordinate system of this component.
Parameters: x - the x coordinate of the point Parameters: y - the y coordinate of the point See Also:Component.getComponentAt(int,int) since: JDK1.1
Checks whether this component "contains" the specified point,
where the point's x and y coordinates are defined
to be relative to the coordinate system of this component.
Parameters: p - the point See Also:Component.getComponentAt(Point) since: JDK1.1
Creates a new strategy for multi-buffering on this component.
Multi-buffering is useful for rendering performance. This method
attempts to create the best strategy available with the number of
buffers supplied. It will always create a BufferStrategy
with that number of buffers.
A page-flipping strategy is attempted first, then a blitting strategy
using accelerated buffers. Finally, an unaccelerated blitting
strategy is used.
Creates a new strategy for multi-buffering on this component with the
required buffer capabilities. This is useful, for example, if only
accelerated memory or page flipping is desired (as specified by the
buffer capabilities).
Each time this method
is called, dispose will be invoked on the existing
BufferStrategy.
Parameters: numBuffers - number of buffers to create Parameters: caps - the required capabilities for creating the buffer strategy;cannot be null exception: AWTException - if the capabilities supplied could not besupported or met; this may happen, for example, if there is not enoughaccelerated memory currently available, or if page flipping is specifiedbut not possible. exception: IllegalArgumentException - if numBuffers is less than 1, or ifcaps is null See Also:Window.getBufferStrategy See Also:Canvas.getBufferStrategy since: 1.4
createHierarchyEvents
int createHierarchyEvents(int id, Component changed, Container changedParent, long changeFlags, boolean enabledOnToolkit)(Code)
Creates an image from the specified image producer.
Parameters: producer - the image producer the image produced since: JDK1.0
createImage
publicImage createImage(int width, int height)(Code)
Creates an off-screen drawable image
to be used for double buffering.
Parameters: width - the specified width Parameters: height - the specified height an off-screen drawable image, which can be used for doublebuffering. The return value may be null if thecomponent is not displayable. This will always happen ifGraphicsEnvironment.isHeadless() returnstrue. See Also:Component.isDisplayable See Also:GraphicsEnvironment.isHeadless since: JDK1.0
Creates a volatile off-screen drawable image
to be used for double buffering.
Parameters: width - the specified width. Parameters: height - the specified height. an off-screen drawable image, which can be used for doublebuffering. The return value may be null if thecomponent is not displayable. This will always happen ifGraphicsEnvironment.isHeadless() returnstrue. See Also:java.awt.image.VolatileImage See Also:Component.isDisplayable See Also:GraphicsEnvironment.isHeadless since: 1.4
Creates a volatile off-screen drawable image, with the given capabilities.
The contents of this image may be lost at any time due
to operating system issues, so the image must be managed
via the VolatileImage interface.
Parameters: width - the specified width. Parameters: height - the specified height. Parameters: caps - the image capabilities exception: AWTException - if an image with the specified capabilities cannotbe created a VolatileImage object, which can be usedto manage surface contents loss and capabilities. See Also:java.awt.image.VolatileImage since: 1.4
final protected void disableEvents(long eventsToDisable)(Code)
Disables the events defined by the specified event mask parameter
from being delivered to this component.
Parameters: eventsToDisable - the event mask defining the event types See Also:Component.enableEvents since: JDK1.1
Dispatches an event to this component or one of its sub components.
Calls processEvent before returning for 1.1-style
events which have been enabled for the Component.
Parameters: e - the event
Prompts the layout manager to lay out this component. This is
usually called when the component (more specifically, container)
is validated.
See Also:Component.validate See Also:LayoutManager
final protected void enableEvents(long eventsToEnable)(Code)
Enables the events defined by the specified event mask parameter
to be delivered to this component.
Event types are automatically enabled when a listener for
that event type is added to the component.
This method only needs to be invoked by subclasses of
Component which desire to have the specified event
types delivered to processEvent regardless of whether
or not a listener is registered.
Parameters: eventsToEnable - the event mask defining the event types See Also:Component.processEvent See Also:Component.disableEvents See Also:AWTEvent since: JDK1.1
enableInputMethods
public void enableInputMethods(boolean enable)(Code)
Enables or disables input method support for this component. If input
method support is enabled and the component also processes key events,
incoming events are offered to
the current input method and will only be processed by the component or
dispatched to its listeners if the input method does not consume them.
By default, input method support is enabled.
Parameters: enable - true to enable, false to disable See Also:Component.processKeyEvent since: 1.2
Assuming that mouse location is stored in PointerInfo passed
to this method, it finds a Component that is in the same
Window as this Component and is located under the mouse pointer.
If no such Component exists, null is returned.
NOTE: this method should be called under the protection of
tree lock, as it is done in Component.getMousePosition() and
Container.getMousePosition(boolean).
Support for reporting bound property changes for Object properties.
This method can be called when a bound property has changed and it will
send the appropriate PropertyChangeEvent to any registered
PropertyChangeListeners.
Parameters: propertyName - the property whose value has changed Parameters: oldValue - the property's previous value Parameters: newValue - the property's new value
Support for reporting bound property changes for boolean properties.
This method can be called when a bound property has changed and it will
send the appropriate PropertyChangeEvent to any registered
PropertyChangeListeners.
Parameters: propertyName - the property whose value has changed Parameters: oldValue - the property's previous value Parameters: newValue - the property's new value since: 1.4
firePropertyChange
protected void firePropertyChange(String propertyName, int oldValue, int newValue)(Code)
Support for reporting bound property changes for integer properties.
This method can be called when a bound property has changed and it will
send the appropriate PropertyChangeEvent to any registered
PropertyChangeListeners.
Parameters: propertyName - the property whose value has changed Parameters: oldValue - the property's previous value Parameters: newValue - the property's new value since: 1.4
firePropertyChange
public void firePropertyChange(String propertyName, byte oldValue, byte newValue)(Code)
Reports a bound property change.
Parameters: propertyName - the programmatic name of the propertythat was changed Parameters: oldValue - the old value of the property (as a byte) Parameters: newValue - the new value of the property (as a byte) See Also:Component.firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) since: 1.5
firePropertyChange
public void firePropertyChange(String propertyName, char oldValue, char newValue)(Code)
Reports a bound property change.
Parameters: propertyName - the programmatic name of the propertythat was changed Parameters: oldValue - the old value of the property (as a char) Parameters: newValue - the new value of the property (as a char) See Also:Component.firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) since: 1.5
firePropertyChange
public void firePropertyChange(String propertyName, short oldValue, short newValue)(Code)
Reports a bound property change.
Parameters: propertyName - the programmatic name of the propertythat was changed Parameters: oldValue - the old value of the property (as a short) Parameters: newValue - the old value of the property (as a short) See Also:Component.firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) since: 1.5
firePropertyChange
public void firePropertyChange(String propertyName, long oldValue, long newValue)(Code)
Reports a bound property change.
Parameters: propertyName - the programmatic name of the propertythat was changed Parameters: oldValue - the old value of the property (as a long) Parameters: newValue - the new value of the property (as a long) See Also:Component.firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) since: 1.5
firePropertyChange
public void firePropertyChange(String propertyName, float oldValue, float newValue)(Code)
Reports a bound property change.
Parameters: propertyName - the programmatic name of the propertythat was changed Parameters: oldValue - the old value of the property (as a float) Parameters: newValue - the new value of the property (as a float) See Also:Component.firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) since: 1.5
firePropertyChange
public void firePropertyChange(String propertyName, double oldValue, double newValue)(Code)
Reports a bound property change.
Parameters: propertyName - the programmatic name of the propertythat was changed Parameters: oldValue - the old value of the property (as a double) Parameters: newValue - the new value of the property (as a double) See Also:Component.firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) since: 1.5
Gets the AccessibleContext associated
with this Component.
The method implemented by this base
class returns null. Classes that extend Component
should implement this method to return the
AccessibleContext associated with the subclass.
the AccessibleContext of thisComponent since: 1.3
Gets the index of this object in its accessible parent.
If this object does not have an accessible parent, returns
-1.
the index of this object in its accessible parent
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 background color of this component.
this component's background color; if this component doesnot have a background color,the background color of its parent is returned See Also:Component.setBackground since: JDK1.0
getBaseline
public int getBaseline(int width, int height)(Code)
Returns the baseline. The baseline is measured from the top of
the component. This method is primarily meant for
LayoutManagers to align components along their
baseline. A return value less than 0 indicates this component
does not have a reasonable baseline and that
LayoutManagers should not align this component on
its baseline.
The default implementation returns -1. Subclasses that support
baseline should override appropriately. If a value >= 0 is
returned, then the component has a valid baseline for any
size >= the minimum size and getBaselineResizeBehavior
can be used to determine how the baseline changes with size.
Parameters: width - the width to get the baseline for Parameters: height - the height to get the baseline for the baseline or < 0 indicating there is no reasonablebaseline throws: IllegalArgumentException - if width or height is < 0 See Also:Component.getBaselineResizeBehavior See Also:java.awt.FontMetrics since: 1.6
getBaselineResizeBehavior
public BaselineResizeBehavior getBaselineResizeBehavior()(Code)
Returns an enum indicating how the baseline of the component
changes as the size changes. This method is primarily meant for
layout managers and GUI builders.
The default implementation returns
BaselineResizeBehavior.OTHER. Subclasses that have a
baseline should override appropriately. Subclasses should
never return null; if the baseline can not be
calculated return BaselineResizeBehavior.OTHER. Callers
should first ask for the baseline using
getBaseline and if a value >= 0 is returned use
this method. It is acceptable for this method to return a
value other than BaselineResizeBehavior.OTHER even if
getBaseline returns a value less than 0.
an enum indicating how the baseline changes as the componentsize changes See Also:Component.getBaseline(int,int) since: 1.6
Gets the bounds of this component in the form of a
Rectangle object. The bounds specify this
component's width, height, and location relative to
its parent.
a rectangle indicating this component's bounds See Also:Component.setBounds See Also:Component.getLocation See Also:Component.getSize
Stores the bounds of this component into "return value" rv and
return rv. If rv is null a new
Rectangle is allocated.
This version of getBounds is useful if the caller
wants to avoid allocating a new Rectangle object
on the heap.
Parameters: rv - the return value, modified to the components bounds rv
Determines if this component or one of its immediate
subcomponents contains the (x, y) location,
and if so, returns the containing component. This method only
looks one level deep. If the point (x, y) is
inside a subcomponent that itself has subcomponents, it does not
go looking down the subcomponent tree.
The locate method of Component simply
returns the component itself if the (x, y)
coordinate location is inside its bounding box, and null
otherwise.
Parameters: x - the x coordinate Parameters: y - the y coordinate the component or subcomponent that contains the(x, y) location;null if the locationis outside this component See Also:Component.contains(int,int) since: JDK1.0
Returns an array of all the component listeners
registered on this component.
all of this comonent's ComponentListenersor an empty array if no componentlisteners are currently registered See Also:Component.addComponentListener See Also:Component.removeComponentListener since: 1.4
Retrieves the language-sensitive orientation that is to be used to order
the elements or text within this component. LayoutManager
and Component
subclasses that wish to respect orientation should call this method to
get the component's orientation before performing layout or drawing.
See Also:ComponentOrientation author: Laura Werner, IBM
Returns the Window ancestor of the component.
Window ancestor of the component or component by itself if it is Window;null, if component is not a part of window hierarchy
Returns the Window ancestor of the component comp.
Window ancestor of the component or component by itself if it is Window;null, if component is not a part of window hierarchy
Gets the cursor set in the component. If the component does
not have a cursor set, the cursor of its parent is returned.
If no cursor is set in the entire hierarchy,
Cursor.DEFAULT_CURSOR is returned.
See Also:Component.setCursor since: JDK1.1
Returns the Container which is the focus cycle root of this Component's
focus traversal cycle. Each focus traversal cycle has only a single
focus cycle root and each Component which is not a Container 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. For such
Containers, this method will return the Container's nearest focus-cycle-
root ancestor.
this Component's nearest focus-cycle-root ancestor See Also:Container.isFocusCycleRoot since: 1.4
Returns an array of all the focus listeners
registered on this component.
all of this component's FocusListenersor an empty array if no componentlisteners are currently registered See Also:Component.addFocusListener See Also:Component.removeFocusListener since: 1.4
Returns the Set of focus traversal keys for a given traversal operation
for this Component. (See
setFocusTraversalKeys for a full description of each key.)
If a Set of traversal keys has not been explicitly defined for this
Component, then this Component's parent's Set is returned. If no Set
has been explicitly defined for any of this Component's ancestors, then
the current KeyboardFocusManager's default Set is returned.
Parameters: id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, orKeyboardFocusManager.UP_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:Component.setFocusTraversalKeys See Also:KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS throws: IllegalArgumentException - if id is not one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, orKeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS since: 1.4
getFocusTraversalKeysEnabled
public boolean getFocusTraversalKeysEnabled()(Code)
Returns whether focus traversal keys are enabled for this Component.
Components for which focus traversal keys are disabled receive key
events for focus traversal keys. Components for which focus traversal
keys are enabled do not see these events; instead, the events are
automatically converted to traversal operations.
whether focus traversal keys are enabled for this Component See Also:Component.setFocusTraversalKeysEnabled See Also:Component.setFocusTraversalKeys See Also:Component.getFocusTraversalKeys since: 1.4
getFocusTraversalKeys_NoIDCheck
final Set getFocusTraversalKeys_NoIDCheck(int id)(Code)
Gets the font of this component.
this component's font; if a font has not been setfor this component, the font of its parent is returned See Also:Component.setFont since: JDK1.0
Gets the font metrics for the specified font.
Warning: Since Font metrics are affected by the
java.awt.font.FontRenderContext FontRenderContext and
this method does not provide one, it can return only metrics for
the default render context which may not match that used when
rendering on the Component if
Graphics2D functionality is being
used. Instead metrics can be obtained at rendering time by calling
Graphics.getFontMetrics or text measurement APIs on the
Font Font class.
Parameters: font - the font for which font metrics is to be obtained the font metrics for font See Also:Component.getFont See Also:Component.getPeer See Also:java.awt.peer.ComponentPeer.getFontMetrics(Font) See Also:Toolkit.getFontMetrics(Font) since: JDK1.0
Gets the foreground color of this component.
this component's foreground color; if this component doesnot have a foreground color, the foreground color of its parentis returned See Also:Component.setForeground since: JDK1.0
Creates a graphics context for this component. This method will
return null if this component is currently not
displayable.
a graphics context for this component, or nullif it has none See Also:Component.paint since: JDK1.0
Gets the GraphicsConfiguration associated with this
Component.
If the Component has not been assigned a specific
GraphicsConfiguration,
the GraphicsConfiguration of the
Component object's top-level container is
returned.
If the Component has been created, but not yet added
to a Container, this method returns null.
the GraphicsConfiguration used by thisComponent or null since: 1.3
Returns the current height of this component.
This method is preferable to writing
component.getBounds().height,
or component.getSize().height because it
doesn't cause any heap allocations.
the current height of this component since: 1.2
Returns an array of all the hierarchy bounds listeners
registered on this component.
all of this component's HierarchyBoundsListenersor an empty array if no hierarchy boundslisteners are currently registered See Also:Component.addHierarchyBoundsListener See Also:Component.removeHierarchyBoundsListener since: 1.4
Returns an array of all the hierarchy listeners
registered on this component.
all of this component's HierarchyListenersor an empty array if no hierarchylisteners are currently registered See Also:Component.addHierarchyListener See Also:Component.removeHierarchyListener since: 1.4
Gets the input context used by this component for handling
the communication with input methods when text is entered
in this component. By default, the input context used for
the parent component is returned. Components may
override this to return a private input context.
the input context used by this component;null if no context can be determined since: 1.2
Returns an array of all the input method listeners
registered on this component.
all of this component's InputMethodListenersor an empty array if no input methodlisteners are currently registered See Also:Component.addInputMethodListener See Also:Component.removeInputMethodListener since: 1.4
Gets the input method request handler which supports
requests from input methods for this component. A component
that supports on-the-spot text input must override this
method to return an InputMethodRequests instance.
At the same time, it also has to handle input method events.
the input method request handler for this component,null by default See Also:Component.addInputMethodListener since: 1.2
Returns an array of all the key listeners
registered on this component.
all of this component's KeyListenersor an empty array if no keylisteners are currently registered See Also:Component.addKeyListener See Also:Component.removeKeyListener since: 1.4
getListeners
public T[] getListeners(Class<T> listenerType)(Code)
Returns an array of all the objects currently registered
as FooListeners
upon this Component.
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
Componentc
for its mouse listeners with the following code:
Gets the locale of this component.
this component's locale; if this component does nothave a locale, the locale of its parent is returned See Also:Component.setLocale exception: IllegalComponentStateException - if the Componentdoes not have its own locale and has not yet been added toa containment hierarchy such that the locale can be determinedfrom the containing parent since: JDK1.1
Gets the location of this component in the form of a
point specifying the component's top-left corner.
The location will be relative to the parent's coordinate space.
Due to the asynchronous nature of native event handling, this
method can return outdated values (for instance, after several calls
of setLocation() in rapid succession). For this
reason, the recommended method of obtaining a component's position is
within java.awt.event.ComponentListener.componentMoved(),
which is called after the operating system has finished moving the
component.
an instance of Point representingthe top-left corner of the component's bounds inthe coordinate space of the component's parent See Also:Component.setLocation See Also:Component.getLocationOnScreen since: JDK1.1
Stores the x,y origin of this component into "return value" rv
and return rv. If rv is null a new
Point is allocated.
This version of getLocation is useful if the
caller wants to avoid allocating a new Point
object on the heap.
Parameters: rv - the return value, modified to the components location rv
Gets the location of this component in the form of a point
specifying the component's top-left corner in the screen's
coordinate space.
an instance of Point representingthe top-left corner of the component's bounds in thecoordinate space of the screen IllegalComponentStateException if thecomponent is not showing on the screen See Also:Component.setLocation See Also:Component.getLocation
getLocationOnScreen_NoTreeLock
final Point getLocationOnScreen_NoTreeLock()(Code)
Gets the mininimum size of this component.
a dimension object indicating this component's minimum size See Also:Component.getPreferredSize See Also:LayoutManager
Returns an array of all the mouse listeners
registered on this component.
all of this component's MouseListenersor an empty array if no mouselisteners are currently registered See Also:Component.addMouseListener See Also:Component.removeMouseListener since: 1.4
Returns an array of all the mouse motion listeners
registered on this component.
all of this component's MouseMotionListenersor an empty array if no mouse motionlisteners are currently registered See Also:Component.addMouseMotionListener See Also:Component.removeMouseMotionListener since: 1.4
Returns the position of the mouse pointer in this Component's
coordinate space if the Component is directly under the mouse
pointer, otherwise returns null.
If the Component is not showing on the screen, this method
returns null even if the mouse pointer is above the area
where the Component would be displayed.
If the Component is partially or fully obscured by other
Components or native windows, this method returns a non-null
value only if the mouse pointer is located above the unobscured part of the
Component.
For Containers it returns a non-null value if the mouse is
above the Container itself or above any of its descendants.
Use
Container.getMousePosition(boolean) if you need to exclude children.
Sometimes the exact mouse coordinates are not important, and the only thing
that matters is whether a specific Component is under the mouse
pointer. If the return value of this method is null, mouse
pointer is not directly above the Component.
exception: HeadlessException - if GraphicsEnvironment.isHeadless() returns true See Also:Component.isShowing See Also:Container.getMousePosition mouse coordinates relative to this Component, or null since: 1.5
Returns an array of all the mouse wheel listeners
registered on this component.
all of this component's MouseWheelListenersor an empty array if no mouse wheellisteners are currently registered See Also:Component.addMouseWheelListener See Also:Component.removeMouseWheelListener since: 1.4
Gets the preferred size of this component.
a dimension object indicating this component's preferred size See Also:Component.getMinimumSize See Also:LayoutManager
Returns the size of this component in the form of a
Dimension object. The height
field of the Dimension object contains
this component's height, and the width
field of the Dimension object contains
this component's width.
a Dimension object that indicates thesize of this component See Also:Component.setSize since: JDK1.1
Stores the width/height of this component into "return value" rv
and return rv. If rv is null a new
Dimension object is allocated. This version of
getSize is useful if the caller wants to avoid
allocating a new Dimension object on the heap.
Parameters: rv - the return value, modified to the components size rv
Gets the toolkit of this component. Note that
the frame that contains a component controls which
toolkit is used by that component. Therefore if the component
is moved from one frame to another, the toolkit it uses may change.
the toolkit of this component since: JDK1.0
Gets this component's locking object (the object that owns the thread
sychronization monitor) for AWT component-tree and layout
operations.
this component's locking object
Returns the current width of this component.
This method is preferable to writing
component.getBounds().width,
or component.getSize().width because it
doesn't cause any heap allocations.
the current width of this component since: 1.2
Returns the current x coordinate of the components origin.
This method is preferable to writing
component.getBounds().x,
or component.getLocation().x because it doesn't
cause any heap allocations.
the current x coordinate of the components origin since: 1.2
Returns the current y coordinate of the components origin.
This method is preferable to writing
component.getBounds().y,
or component.getLocation().y because it
doesn't cause any heap allocations.
the current y coordinate of the components origin since: 1.2
Returns true if this Component is the
focus owner. This method is obsolete, and has been replaced by
isFocusOwner().
true if this Component is the focus owner; false otherwise since: 1.2
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)(Code)
Repaints the component when the image has changed.
This imageUpdate method of an ImageObserver
is called when more information about an
image which had been previously requested using an asynchronous
routine such as the drawImage method of
Graphics becomes available.
See the definition of imageUpdate for
more information on this method and its arguments.
The imageUpdate method of Component
incrementally draws an image on the component as more of the bits
of the image are available.
If the system property awt.image.incrementaldraw
is missing or has the value true, the image is
incrementally drawn. If the system property has any other value,
then the image is not drawn until it has been completely loaded.
Also, if incremental drawing is in effect, the value of the
system property awt.image.redrawrate is interpreted
as an integer to give the maximum redraw rate, in milliseconds. If
the system property is missing or cannot be interpreted as an
integer, the redraw rate is once every 100ms.
Invalidates this component. This component 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.
See Also:Component.validate See Also:Component.doLayout See Also:LayoutManager since: JDK1.0
Returns whether the background color has been explicitly set for this
Component. If this method returns false, this Component is
inheriting its background color from an ancestor.
true if the background color has been explicitlyset for this Component; false otherwise. since: 1.4
Returns whether the cursor has been explicitly set for this Component.
If this method returns false, this Component is inheriting
its cursor from an ancestor.
true if the cursor has been explicitly set for thisComponent; false otherwise. since: 1.4
Determines whether this component is displayable. A component is
displayable when it is connected to a native screen resource.
A component is made displayable either when it is added to
a displayable containment hierarchy or when its containment
hierarchy is made displayable.
A containment hierarchy is made displayable when its ancestor
window is either packed or made visible.
A component is made undisplayable either when it is removed from
a displayable containment hierarchy or when its containment hierarchy
is made undisplayable. A containment hierarchy is made
undisplayable when its ancestor window is disposed.
true if the component is displayable, false otherwise See Also:Container.add(Component) See Also:Window.pack See Also:Window.show See Also:Container.remove(Component) See Also:Window.dispose since: 1.2
Returns true if this component is painted to an offscreen image
("buffer") that's copied to the screen later. Component
subclasses that support double buffering should override this
method to return true if double buffering is enabled.
false by default
Determines whether this component is enabled. An enabled component
can respond to user input and generate events. Components are
enabled initially by default. A component may be enabled or disabled by
calling its setEnabled method.
true if the component is enabled,false otherwise See Also:Component.setEnabled since: JDK1.0
Returns whether the specified Container is the focus cycle root of this
Component's focus traversal cycle. Each focus traversal cycle has only
a single focus cycle root and each Component which is not a Container
belongs to only a single focus traversal cycle.
Parameters: container - the Container to be tested true if the specified Container is a focus-cycle-root of this Component; false otherwise See Also:Container.isFocusCycleRoot since: 1.4
Returns whether this Component can become the focus
owner.
true if this Component isfocusable; false otherwise See Also:Component.setFocusable since: JDK1.1
isFocusTraversableOverridden
final boolean isFocusTraversableOverridden()(Code)
Returns whether the font has been explicitly set for this Component. If
this method returns false, this Component is inheriting its
font from an ancestor.
true if the font has been explicitly set for thisComponent; false otherwise. since: 1.4
Returns whether the foreground color has been explicitly set for this
Component. If this method returns false, this Component is
inheriting its foreground color from an ancestor.
true if the foreground color has been explicitlyset for this Component; false otherwise. since: 1.4
Checks that the given object is instance of the given class.
Parameters: obj - Object to be checked Parameters: className - The name of the class. Must be fully-qualified class name. true, if this object is instanceof given class,false, otherwise, or if obj or className is null
A lightweight component doesn't have a native toolkit peer.
Subclasses of Component and Container,
other than the ones defined in this package like Button
or Scrollbar, are lightweight.
All of the Swing components are lightweights.
This method will always return false if this component
is not displayable because it is impossible to determine the
weight of an undisplayable component.
true if this component has a lightweight peer; false ifit has a native peer or no peer See Also:Component.isDisplayable since: 1.2
Returns true if this component is completely opaque, returns
false by default.
An opaque component paints every pixel within its
rectangular region. A non-opaque component paints only some of
its pixels, allowing the pixels underneath it to "show through".
A component that does not fully paint its pixels therefore
provides a degree of transparency. Only lightweight
components can be transparent.
Subclasses that guarantee to always completely paint their
contents should override this method and return true. All
of the "heavyweight" AWT components are opaque.
true if this component is completely opaque See Also:Component.isLightweight since: 1.2
Returns true if the preferred size has been set to a
non-null value otherwise returns false.
true if setPreferredSize has been invokedwith a non-null value. since: 1.5
Determines whether this component will be displayed on the screen.
true if the component and all of its ancestorsuntil a toplevel window or null parent are visible,false otherwise
Determines whether this component is showing on screen. This means
that the component must be visible, and it must be in a container
that is visible and showing.
Note: sometimes there is no way to detect whether the
Component is actually visible to the user. This can happen when:
the component has been added to a visible
ScrollPane but
the
Component is not currently in the scroll pane's view port.
the
Component is obscured by another
Component or
Container .
true if the component is showing,false otherwise See Also:Component.setVisible since: JDK1.0
Determines whether this component is valid. A component is valid
when it is correctly sized and positioned within its parent
container and all its children are also valid.
In order to account for peers' size requirements, components are invalidated
before they are first shown on the screen. By the time the parent container
is fully realized, all its components will be valid.
true if the component is valid, falseotherwise See Also:Component.validate See Also:Component.invalidate since: JDK1.0
Determines whether this component should be visible when its
parent is visible. Components are
initially visible, with the exception of top level components such
as Frame objects.
true if the component is visible,false otherwise See Also:Component.setVisible since: JDK1.0
Simulates the peer callbacks into java.awt for painting of
lightweight Components.
Parameters: g - the graphics context to use for painting See Also:Component.paintAll
Simulates the peer callbacks into java.awt for printing of
lightweight Components.
Parameters: g - the graphics context to use for printing See Also:Component.printAll
Prints out a list, starting at the specified indentation, to the
specified print stream.
Parameters: out - a print stream Parameters: indent - number of spaces to indent See Also:java.io.PrintStream.println(java.lang.Object) since: JDK1.0
Prints out a list, starting at the specified indentation, to
the specified print writer.
Parameters: out - the print writer to print to Parameters: indent - the number of spaces to indent See Also:java.io.PrintStream.println(java.lang.Object) since: JDK1.1
This method is called when the contents of the component should
be painted; such as when the component is first being shown or
is damaged and in need of repair. The clip rectangle in the
Graphics parameter is set to the area
which needs to be painted.
Subclasses of Component that override this
method need not call super.paint(g).
For performance reasons, Components with zero width
or height aren't considered to need painting when they are first shown,
and also aren't considered to need repair.
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
Parameters: g - the graphics context to use for painting See Also:Component.update since: JDK1.0
Paints this component and all of its subcomponents.
The origin of the graphics context, its
(0, 0) coordinate point, is the
top-left corner of this component. The clipping region of the
graphics context is the bounding rectangle of this component.
Parameters: g - the graphics context to use for painting See Also:Component.paint since: JDK1.0
Returns a string representing the state of this component. 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.
a string representation of this component's state since: JDK1.0
Prepares an image for rendering on this component. The image
data is downloaded asynchronously in another thread and the
appropriate screen representation of the image is generated.
Parameters: image - the Image for which toprepare a screen representation Parameters: observer - the ImageObserver objectto be notified as the image is being prepared true if the image has already been fullyprepared; false otherwise since: JDK1.0
Prepares an image for rendering on this component at the
specified width and height.
The image data is downloaded asynchronously in another thread,
and an appropriately scaled screen representation of the image is
generated.
Parameters: image - the instance of Imagefor which to prepare a screen representation Parameters: width - the width of the desired screen representation Parameters: height - the height of the desired screen representation Parameters: observer - the ImageObserver objectto be notified as the image is being prepared true if the image has already been fully prepared; false otherwise See Also:java.awt.image.ImageObserver since: JDK1.0
Prints this component. Applications should override this method
for components that must do special processing before being
printed or should be printed differently than they are painted.
The default implementation of this method calls the
paint method.
The origin of the graphics context, its
(0, 0) coordinate point, is the
top-left corner of this component. The clipping region of the
graphics context is the bounding rectangle of this component.
Parameters: g - the graphics context to use for printing See Also:Component.paint(Graphics) since: JDK1.0
Prints this component and all of its subcomponents.
The origin of the graphics context, its
(0, 0) coordinate point, is the
top-left corner of this component. The clipping region of the
graphics context is the bounding rectangle of this component.
Parameters: g - the graphics context to use for printing See Also:Component.print(Graphics) since: JDK1.0
Processes events occurring on this component. By default this
method calls the appropriate
process<event type>Event
method for the given class of event.
Processes focus events occurring on this component by
dispatching them to any registered
FocusListener objects.
This method is not called unless focus events are
enabled for this component. Focus events are enabled
when one of the following occurs:
A FocusListener object is registered
via addFocusListener.
Focus events are enabled via enableEvents.
If focus events are enabled for a Component,
the current KeyboardFocusManager determines
whether or not a focus event should be dispatched to
registered FocusListener objects. If the
events are to be dispatched, the KeyboardFocusManager
calls the Component's dispatchEvent
method, which results in a call to the Component's
processFocusEvent method.
If focus events are enabled for a Component, calling
the Component's dispatchEvent method
with a FocusEvent as the argument will result in a
call to the Component's processFocusEvent
method regardless of the current KeyboardFocusManager.
Processes hierarchy bounds events occurring on this component by
dispatching them to any registered
HierarchyBoundsListener objects.
This method is not called unless hierarchy bounds events
are enabled for this component. Hierarchy bounds events are enabled
when one of the following occurs:
An HierarchyBoundsListener object is registered
via addHierarchyBoundsListener.
Hierarchy bounds events are enabled via enableEvents.
Processes key events occurring on this component by
dispatching them to any registered
KeyListener objects.
This method is not called unless key events are
enabled for this component. Key events are enabled
when one of the following occurs:
A KeyListener object is registered
via addKeyListener.
Key events are enabled via enableEvents.
If key events are enabled for a Component,
the current KeyboardFocusManager determines
whether or not a key event should be dispatched to
registered KeyListener objects. The
DefaultKeyboardFocusManager will not dispatch
key events to a Component that is not the focus
owner or is not showing.
As of J2SE 1.4, KeyEvents are redirected to
the focus owner. Please see the
Focus Specification
for further information.
Calling a Component's dispatchEvent
method with a KeyEvent as the argument will
result in a call to the Component's
processKeyEvent method regardless of the
current KeyboardFocusManager as long as the
component is showing, focused, and enabled, and key events
are enabled on it.
Removes the specified component listener so that it no longer
receives component events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified focus listener so that it no longer
receives focus events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified hierarchy bounds listener so that it no longer
receives hierarchy bounds events from this component. This method
performs no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified hierarchy listener so that it no longer
receives hierarchy changed events from this component. This method
performs no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified input method listener so that it no longer
receives input method events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified key listener so that it no longer
receives key events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified mouse listener so that it no longer
receives mouse events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified mouse motion listener so that it no longer
receives mouse motion events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If listener l is null,
no exception is thrown and no action is performed.
Removes the specified mouse wheel listener so that it no longer
receives mouse wheel events from this component. This method performs
no function, nor does it throw an exception, if the listener
specified by the argument was not previously added to this component.
If l is null, no exception is thrown and no action is performed.
Makes this Component undisplayable by destroying it native
screen resource.
This method is called by the toolkit internally and should
not be called directly by programs. Code overriding
this method should call super.removeNotify as
the first line of the overriding method.
See Also:Component.isDisplayable See Also:Component.addNotify since: JDK1.0
Removes a PropertyChangeListener from the listener list. This method
should be used to remove PropertyChangeListeners that were registered
for all bound properties of this class.
Removes a PropertyChangeListener from the listener
list for a specific property. This method should be used to remove
PropertyChangeListeners
that were registered for a specific bound property.
If this component is a lightweight component, this method
causes a call to this component's paint
method as soon as possible. Otherwise, this method causes
a call to this component's update method as soon
as possible.
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
See Also:Component.update(Graphics) since: JDK1.0
Repaints the component. If this component is a lightweight
component, this results in a call to paint
within tm milliseconds.
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
Parameters: tm - maximum time in milliseconds before update See Also:Component.paint See Also:Component.update(Graphics) since: JDK1.0
repaint
public void repaint(int x, int y, int width, int height)(Code)
Repaints the specified rectangle of this component.
If this component is a lightweight component, this method
causes a call to this component's paint method
as soon as possible. Otherwise, this method causes a call to
this component's update method as soon as possible.
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
Parameters: x - the x coordinate Parameters: y - the y coordinate Parameters: width - the width Parameters: height - the height See Also:Component.update(Graphics) since: JDK1.0
repaint
public void repaint(long tm, int x, int y, int width, int height)(Code)
Repaints the specified rectangle of this component within
tm milliseconds.
If this component is a lightweight component, this method causes
a call to this component's paint method.
Otherwise, this method causes a call to this component's
update method.
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
Parameters: tm - maximum time in milliseconds before update Parameters: x - the x coordinate Parameters: y - the y coordinate Parameters: width - the width Parameters: height - the height See Also:Component.update(Graphics) since: JDK1.0
Requests that this Component get the input focus, and that this
Component's top-level ancestor become the focused Window. This
component must be displayable, focusable, visible and all of
its ancestors (with the exception of the top-level Window) must
be visible for the request to be granted. Every effort will be
made to honor the request; however, in some cases it may be
impossible to do so. Developers must never assume that this
Component is the focus owner until this Component receives a
FOCUS_GAINED event. If this request is denied because this
Component's top-level Window cannot become the focused Window,
the request will be remembered and will be granted when the
Window is later focused by the user.
This method cannot be used to set the focus owner to no Component at
all. Use KeyboardFocusManager.clearGlobalFocusOwner()
instead.
Because the focus behavior of this method is platform-dependent,
developers are strongly encouraged to use
requestFocusInWindow when possible.
Requests that this Component get the input focus,
and that this Component's top-level ancestor
become the focused Window. This component must be
displayable, focusable, visible and all of its ancestors (with
the exception of the top-level Window) must be visible for the
request to be granted. Every effort will be made to honor the
request; however, in some cases it may be impossible to do
so. Developers must never assume that this component is the
focus owner until this component receives a FOCUS_GAINED
event. If this request is denied because this component's
top-level window cannot become the focused window, the request
will be remembered and will be granted when the window is later
focused by the user.
This method returns a boolean value. If false is returned,
the request is guaranteed to fail. If true is
returned, the request will succeed unless it is vetoed, or an
extraordinary event, such as disposal of the component's peer, occurs
before the request can be granted by the native windowing system. Again,
while a return value of true indicates that the request is
likely to succeed, developers must never assume that this component is
the focus owner until this component receives a FOCUS_GAINED event.
This method cannot be used to set the focus owner to no component at
all. Use KeyboardFocusManager.clearGlobalFocusOwner
instead.
Because the focus behavior of this method is platform-dependent,
developers are strongly encouraged to use
requestFocusInWindow when possible.
Every effort will be made to ensure that FocusEvents
generated as a
result of this request will have the specified temporary value. However,
because specifying an arbitrary temporary state may not be implementable
on all native windowing systems, correct behavior for this method can be
guaranteed only for lightweight Components.
This method is not intended
for general use, but exists instead as a hook for lightweight component
libraries, such as Swing.
Note: Not all focus transfers result from invoking this method. As
such, a component may receive focus without this or any of the other
requestFocus methods of
Component being invoked.
Parameters: temporary - true if the focus change is temporary,such as when the window loses the focus; formore information on temporary focus changes see theFocus Specificationfalse if the focus change request is guaranteed tofail; true if it is likely to succeed See Also:java.awt.event.FocusEvent See Also:Component.addFocusListener See Also:Component.isFocusable See Also:Component.isDisplayable See Also:KeyboardFocusManager.clearGlobalFocusOwner since: 1.4
Requests that this Component get the input focus, if this
Component's top-level ancestor is already the focused
Window. This component must be displayable, focusable, visible
and all of its ancestors (with the exception of the top-level
Window) must be visible for the request to be granted. Every
effort will be made to honor the request; however, in some
cases it may be impossible to do so. Developers must never
assume that this Component is the focus owner until this
Component receives a FOCUS_GAINED event.
This method returns a boolean value. If false is returned,
the request is guaranteed to fail. If true is
returned, the request will succeed unless it is vetoed, or an
extraordinary event, such as disposal of the Component's peer, occurs
before the request can be granted by the native windowing system. Again,
while a return value of true indicates that the request is
likely to succeed, developers must never assume that this Component is
the focus owner until this Component receives a FOCUS_GAINED event.
This method cannot be used to set the focus owner to no Component at
all. Use KeyboardFocusManager.clearGlobalFocusOwner()
instead.
The focus behavior of this method can be implemented uniformly across
platforms, and thus developers are strongly encouraged to use this
method over requestFocus when possible. Code which relies
on requestFocus may exhibit different focus behavior on
different platforms.
Requests that this Component get the input focus,
if this Component's top-level ancestor is already
the focused Window. This component must be
displayable, focusable, visible and all of its ancestors (with
the exception of the top-level Window) must be visible for the
request to be granted. Every effort will be made to honor the
request; however, in some cases it may be impossible to do
so. Developers must never assume that this component is the
focus owner until this component receives a FOCUS_GAINED event.
This method returns a boolean value. If false is returned,
the request is guaranteed to fail. If true is
returned, the request will succeed unless it is vetoed, or an
extraordinary event, such as disposal of the component's peer, occurs
before the request can be granted by the native windowing system. Again,
while a return value of true indicates that the request is
likely to succeed, developers must never assume that this component is
the focus owner until this component receives a FOCUS_GAINED event.
This method cannot be used to set the focus owner to no component at
all. Use KeyboardFocusManager.clearGlobalFocusOwner
instead.
The focus behavior of this method can be implemented uniformly across
platforms, and thus developers are strongly encouraged to use this
method over requestFocus when possible. Code which relies
on requestFocus may exhibit different focus behavior on
different platforms.
Every effort will be made to ensure that FocusEvents
generated as a
result of this request will have the specified temporary value. However,
because specifying an arbitrary temporary state may not be implementable
on all native windowing systems, correct behavior for this method can be
guaranteed only for lightweight components. This method is not intended
for general use, but exists instead as a hook for lightweight component
libraries, such as Swing.
Resets this Component's
GraphicsConfiguration back to a default
value. For most componenets, this is null.
Called from the Toolkit thread, so NO CLIENT CODE.
reshape
public void reshape(int x, int y, int width, int height)(Code)
The background color affects each component differently and the
parts of the component that are affected by the background color
may differ between operating systems.
Parameters: c - the color to become this component's color;if this parameter is null, then thiscomponent will inherit the background color of its parent See Also:Component.getBackground since: JDK1.0
setBounds
public void setBounds(int x, int y, int width, int height)(Code)
Moves and resizes this component. The new location of the top-left
corner is specified by x and y, and the
new size is specified by width and height.
Parameters: x - the new x-coordinate of this component Parameters: y - the new y-coordinate of this component Parameters: width - the new width of this component Parameters: height - the new height of this component See Also:Component.getBounds See Also:Component.setLocation(int,int) See Also:Component.setLocation(Point) See Also:Component.setSize(int,int) See Also:Component.setSize(Dimension) since: JDK1.1
Sets the language-sensitive orientation that is to be used to order
the elements or text within this component. Language-sensitive
LayoutManager and Component
subclasses will use this property to
determine how to lay out and draw components.
At construction time, a component's orientation is set to
ComponentOrientation.UNKNOWN,
indicating that it has not been specified
explicitly. The UNKNOWN orientation behaves the same as
ComponentOrientation.LEFT_TO_RIGHT.
To set the orientation of a single component, use this method.
To set the orientation of an entire component
hierarchy, use
Component.applyComponentOrientation applyComponentOrientation .
See Also:ComponentOrientation author: Laura Werner, IBM
Sets the cursor image to the specified cursor. This cursor
image is displayed when the contains method for
this component returns true for the current cursor location, and
this Component is visible, displayable, and enabled. Setting the
cursor of a Container causes that cursor to be displayed
within all of the container's subcomponents, except for those
that have a non-null cursor.
The method may have no visual effect if the Java platform
implementation and/or the native system do not support
changing the mouse cursor shape.
Parameters: cursor - One of the constants defined by the Cursor class;if this parameter is nullthen this component will inheritthe cursor of its parent See Also:Component.isEnabled See Also:Component.isShowing See Also:Component.getCursor See Also:Component.contains See Also:Toolkit.createCustomCursor See Also:Cursor since: JDK1.1
Associate a DropTarget with this component.
The Component will receive drops only if it
is enabled.
See Also:Component.isEnabled Parameters: dt - The DropTarget
Enables or disables this component, depending on the value of the
parameter b. An enabled component can respond to user
input and generate events. Components are enabled initially by default.
Note: Disabling a lightweight component does not prevent it from
receiving MouseEvents.
Note: Disabling a heavyweight container prevents all components
in this container from receiving any input events. But disabling a
lightweight container affects only this container.
Parameters: b - If true, this component is enabled; otherwise this component is disabled See Also:Component.isEnabled See Also:Component.isLightweight since: JDK1.1
setFocusTraversalKeys
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)(Code)
Sets the focus traversal keys for a given traversal operation for this
Component.
The default values for a Component'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
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 Component. 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 Component inherits the
Set from its parent. If all ancestors of this Component 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, orKeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS Parameters: keystrokes - the Set of AWTKeyStroke for the specified operation See Also:Component.getFocusTraversalKeys See Also:KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS See Also:KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS throws: IllegalArgumentException - if id is not one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, orKeyboardFocusManager.UP_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 Component since: 1.4
setFocusTraversalKeysEnabled
public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)(Code)
Sets whether focus traversal keys are enabled for this Component.
Components for which focus traversal keys are disabled receive key
events for focus traversal keys. Components for which focus traversal
keys are enabled do not see these events; instead, the events are
automatically converted to traversal operations.
Parameters: focusTraversalKeysEnabled - whether focus traversal keys areenabled for this Component See Also:Component.getFocusTraversalKeysEnabled See Also:Component.setFocusTraversalKeys See Also:Component.getFocusTraversalKeys since: 1.4
setFocusTraversalKeys_NoIDCheck
final void setFocusTraversalKeys_NoIDCheck(int id, Set<? extends AWTKeyStroke> keystrokes)(Code)
Sets the focusable state of this Component to the specified value. This
value overrides the Component's default focusability.
Parameters: focusable - indicates whether this Component is focusable See Also:Component.isFocusable since: 1.4
Sets the font of this component.
Parameters: f - the font to become this component's font;if this parameter is null then thiscomponent will inherit the font of its parent See Also:Component.getFont since: JDK1.0
Sets the foreground color of this component.
Parameters: c - the color to become this component's foreground color; if this parameter is nullthen this component will inheritthe foreground color of its parent See Also:Component.getForeground since: JDK1.0
public void setIgnoreRepaint(boolean ignoreRepaint)(Code)
Sets whether or not paint messages received from the operating system
should be ignored. This does not affect paint events generated in
software by the AWT, unless they are an immediate response to an
OS-level paint message.
Sets the locale of this component. This is a bound property.
Parameters: l - the locale to become this component's locale See Also:Component.getLocale since: JDK1.1
Moves this component to a new location. The top-left corner of
the new location is specified by the x and y
parameters in the coordinate space of this component's parent.
Parameters: x - the x-coordinate of the new location's top-left corner in the parent's coordinate space Parameters: y - the y-coordinate of the new location's top-left corner in the parent's coordinate space See Also:Component.getLocation See Also:Component.setBounds since: JDK1.1
Moves this component to a new location. The top-left corner of
the new location is specified by point p. Point
p is given in the parent's coordinate space.
Parameters: p - the point defining the top-left corner of the new location, given in the coordinate space of this component's parent See Also:Component.getLocation See Also:Component.setBounds since: JDK1.1
Sets the maximum size of this component to a constant
value. Subsequent calls to getMaximumSize will always
return this value. Setting the maximum size to null
restores the default behavior.
Parameters: maximumSize - a Dimension containing the desired maximum allowable size See Also:Component.getMaximumSize See Also:Component.isMaximumSizeSet since: 1.5
Sets the minimum size of this component to a constant
value. Subsequent calls to getMinimumSize will always
return this value. Setting the minimum size to null
restores the default behavior.
Parameters: minimumSize - the new minimum size of this component See Also:Component.getMinimumSize See Also:Component.isMinimumSizeSet since: 1.5
Sets the name of the component to the specified string.
Parameters: name - the string that is to be this component's name See Also:Component.getName since: JDK1.1
Sets the preferred size of this component to a constant
value. Subsequent calls to getPreferredSize will always
return this value. Setting the preferred size to null
restores the default behavior.
Parameters: preferredSize - The new preferred size, or null See Also:Component.getPreferredSize See Also:Component.isPreferredSizeSet since: 1.5
Resizes this component so that it has width width
and height height.
Parameters: width - the new width of this component in pixels Parameters: height - the new height of this component in pixels See Also:Component.getSize See Also:Component.setBounds since: JDK1.1
Resizes this component so that it has width d.width
and height d.height.
Parameters: d - the dimension specifying the new size of this component See Also:Component.setSize See Also:Component.setBounds since: JDK1.1
Shows or hides this component depending on the value of parameter
b.
Parameters: b - if true, shows this component;otherwise, hides this component See Also:Component.isVisible since: JDK1.1
Transfers the focus up one focus traversal cycle. Typically, the focus
owner is set to this Component's focus cycle root, and the current focus
cycle root is set to the new focus owner's focus cycle root. If,
however, this Component's focus cycle root is a Window, then the focus
owner is set to the focus cycle root's default Component to focus, and
the current focus cycle root is unchanged.
See Also:Component.requestFocus() See Also:Container.isFocusCycleRoot See Also:Container.setFocusCycleRoot(boolean) since: 1.4
If this component is not a lightweight component, the
AWT calls the update method in response to
a call to repaint. You can assume that
the background is not cleared.
The update method of Component
calls this component's paint method to redraw
this component. This method is commonly overridden by subclasses
which need to do additional work in response to a call to
repaint.
Subclasses of Component that override this method should either
call super.update(g), or call paint(g)
directly from their update method.
The origin of the graphics context, its
(0, 0) coordinate point, is the
top-left corner of this component. The clipping region of the
graphics context is the bounding rectangle of this component.
Note: For more information on the paint mechanisms utilitized
by AWT and Swing, including information on how to write the most
efficient painting code, see
Painting in AWT and Swing.
Parameters: g - the specified context to use for updating See Also:Component.paint See Also:Component.repaint() since: JDK1.0