Class Component
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
- Direct Known Subclasses:
Button
,Canvas
,Checkbox
,Choice
,Container
,Label
,List
,Scrollbar
,TextComponent
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 window. On the contrary, a heavyweight
component is associated with a native window. The isLightweight()
method may be used to distinguish between the two kinds of the components.
Lightweight and heavyweight components may be mixed in a single component
hierarchy. However, for correct operating of such a mixed hierarchy of
components, the whole hierarchy must be valid. When the hierarchy gets
invalidated, like after changing the bounds of components, or
adding/removing components to/from containers, the whole hierarchy must be
validated afterwards by means of the Container.validate()
method
invoked on the top-most invalid container of the hierarchy.
Serialization
It is important to note that only AWT listeners which conform to theSerializable
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 implements 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 utilized 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.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
Inner class of Component used to provide default support for accessibility.static enum
Enumeration of the common ways the baseline of a component can change as the size changes.protected class
Inner class for blitting offscreen surfaces to a component.protected class
Inner class for flipping buffers on a component. -
Field Summary
Modifier and TypeFieldDescriptionprotected AccessibleContext
TheAccessibleContext
associated with thisComponent
.static final float
Ease-of-use constant forgetAlignmentY
.static final float
Ease-of-use constant forgetAlignmentY
andgetAlignmentX
.static final float
Ease-of-use constant forgetAlignmentX
.static final float
Ease-of-use constant forgetAlignmentX
.static final float
Ease-of-use constant forgetAlignmentY()
.Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Deprecated.As of JDK version 1.1, should register this component as ActionListener on component which fires action events.void
Adds the specified popup menu to the component.void
Adds the specified component listener to receive component events from this component.void
Adds the specified focus listener to receive focus events from this component when this component gains input focus.void
Adds the specified hierarchy bounds listener to receive hierarchy bounds events from this component when the hierarchy to which this container belongs changes.void
Adds the specified hierarchy listener to receive hierarchy changed events from this component when the hierarchy to which this container belongs changes.void
Adds the specified input method listener to receive input method events from this component.void
Adds the specified key listener to receive key events from this component.void
Adds the specified mouse listener to receive mouse events from this component.void
Adds the specified mouse motion listener to receive mouse motion events from this component.void
Adds the specified mouse wheel listener to receive mouse wheel events from this component.void
Makes thisComponent
displayable by connecting it to a native screen resource.void
Adds a PropertyChangeListener to the listener list.void
addPropertyChangeListener
(String propertyName, PropertyChangeListener listener) Adds a PropertyChangeListener to the listener list for a specific property.void
applyComponentOrientation
(ComponentOrientation orientation) Sets theComponentOrientation
property of this component and all components contained within it.boolean
areFocusTraversalKeysSet
(int id) Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component.bounds()
Deprecated.As of JDK version 1.1, replaced bygetBounds()
.int
checkImage
(Image image, int width, int height, ImageObserver observer) Returns the status of the construction of a screen representation of the specified image.int
checkImage
(Image image, ImageObserver observer) Returns the status of the construction of a screen representation of the specified image.protected AWTEvent
coalesceEvents
(AWTEvent existingEvent, AWTEvent newEvent) Potentially coalesce an event being posted with an existing event.boolean
contains
(int x, int y) Checks whether this component "contains" the specified point, wherex
andy
are defined to be relative to the coordinate system of this component.boolean
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.createImage
(int width, int height) Creates an off-screen drawable image to be used for double buffering.createImage
(ImageProducer producer) Creates an image from the specified image producer.createVolatileImage
(int width, int height) Creates a volatile off-screen drawable image to be used for double buffering.createVolatileImage
(int width, int height, ImageCapabilities caps) Creates a volatile off-screen drawable image, with the given capabilities.void
Deprecated.As of JDK version 1.1, replaced bydispatchEvent(AWTEvent e)
.void
disable()
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.protected final void
disableEvents
(long eventsToDisable) Disables the events defined by the specified event mask parameter from being delivered to this component.final void
Dispatches an event to this component or one of its sub components.void
doLayout()
Prompts the layout manager to lay out this component.void
enable()
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.void
enable
(boolean b) Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.protected final void
enableEvents
(long eventsToEnable) Enables the events defined by the specified event mask parameter to be delivered to this component.void
enableInputMethods
(boolean enable) Enables or disables input method support for this component.protected void
firePropertyChange
(String propertyName, boolean oldValue, boolean newValue) Support for reporting bound property changes for boolean properties.void
firePropertyChange
(String propertyName, byte oldValue, byte newValue) Reports a bound property change.void
firePropertyChange
(String propertyName, char oldValue, char newValue) Reports a bound property change.void
firePropertyChange
(String propertyName, double oldValue, double newValue) Reports a bound property change.void
firePropertyChange
(String propertyName, float oldValue, float newValue) Reports a bound property change.protected void
firePropertyChange
(String propertyName, int oldValue, int newValue) Support for reporting bound property changes for integer properties.void
firePropertyChange
(String propertyName, long oldValue, long newValue) Reports a bound property change.void
firePropertyChange
(String propertyName, short oldValue, short newValue) Reports a bound property change.protected void
firePropertyChange
(String propertyName, Object oldValue, Object newValue) Support for reporting bound property changes for Object properties.Gets theAccessibleContext
associated with thisComponent
.float
Returns the alignment along the x axis.float
Returns the alignment along the y axis.Gets the background color of this component.int
getBaseline
(int width, int height) Returns the baseline.Returns an enum indicating how the baseline of the component changes as the size changes.Gets the bounds of this component in the form of aRectangle
object.Stores the bounds of this component into "return value" rv and return rv.Gets the instance ofColorModel
used to display the component on the output device.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.Returns the component or subcomponent that contains the specified point.Returns an array of all the component listeners registered on this component.Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.Gets the cursor set in the component.Gets theDropTarget
associated with thisComponent
.Returns the Container which is the focus cycle root of this Component's focus traversal cycle.Returns an array of all the focus listeners registered on this component.getFocusTraversalKeys
(int id) Returns the Set of focus traversal keys for a given traversal operation for this Component.boolean
Returns whether focus traversal keys are enabled for this Component.getFont()
Gets the font of this component.getFontMetrics
(Font font) Gets the font metrics for the specified font.Gets the foreground color of this component.Creates a graphics context for this component.Gets theGraphicsConfiguration
associated with thisComponent
.int
Returns the current height of this component.Returns an array of all the hierarchy bounds listeners registered on this component.Returns an array of all the hierarchy listeners registered on this component.boolean
Returns whether or not paint messages received from the operating system should be ignored.Gets the input context used by this component for handling the communication with input methods when text is entered in this component.Returns an array of all the input method listeners registered on this component.Gets the input method request handler which supports requests from input methods for this component.Returns an array of all the key listeners registered on this component.<T extends EventListener>
T[]getListeners
(Class<T> listenerType) Returns an array of all the objects currently registered asFooListener
s upon thisComponent
.Gets the locale of this component.Gets the location of this component in the form of a point specifying the component's top-left corner.getLocation
(Point rv) Stores the x,y origin of this component into "return value" rv and return 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.Gets the maximum size of this component.Gets the minimum size of this component.Returns an array of all the mouse listeners registered on this component.Returns an array of all the mouse motion listeners registered on this component.Returns the position of the mouse pointer in thisComponent
's coordinate space if theComponent
is directly under the mouse pointer, otherwise returnsnull
.Returns an array of all the mouse wheel listeners registered on this component.getName()
Gets the name of the component.Gets the parent of this component.Gets the preferred size of this component.Returns an array of all the property change listeners registered on this component.getPropertyChangeListeners
(String propertyName) Returns an array of all the listeners which have been associated with the named property.getSize()
Returns the size of this component in the form of aDimension
object.Stores the width/height of this component into "return value" rv and return rv.Gets the toolkit of this component.final Object
Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.int
getWidth()
Returns the current width of this component.int
getX()
Returns the current x coordinate of the components origin.int
getY()
Returns the current y coordinate of the components origin.boolean
Deprecated.As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).boolean
handleEvent
(Event evt) Deprecated.As of JDK version 1.1 replaced by processEvent(AWTEvent).boolean
hasFocus()
Returnstrue
if thisComponent
is the focus owner.void
hide()
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
.boolean
imageUpdate
(Image img, int infoflags, int x, int y, int w, int h) Repaints the component when the image has changed.boolean
inside
(int x, int y) Deprecated.As of JDK version 1.1, replaced by contains(int, int).void
Invalidates this component and its ancestors.boolean
Returns whether the background color has been explicitly set for this Component.boolean
Returns whether the cursor has been explicitly set for this Component.boolean
Determines whether this component is displayable.boolean
Returns true if this component is painted to an offscreen image ("buffer") that's copied to the screen later.boolean
Determines whether this component is enabled.boolean
Returns whether this Component can be focused.boolean
isFocusCycleRoot
(Container container) Returns whether the specified Container is the focus cycle root of this Component's focus traversal cycle.boolean
Returnstrue
if thisComponent
is the focus owner.boolean
Deprecated.As of 1.4, replaced byisFocusable()
.boolean
Returns whether the font has been explicitly set for this Component.boolean
Returns whether the foreground color has been explicitly set for this Component.boolean
A lightweight component doesn't have a native toolkit peer.boolean
Returns true if the maximum size has been set to a non-null
value otherwise returns false.boolean
Returns whether or notsetMinimumSize
has been invoked with a non-null value.boolean
isOpaque()
Returns true if this component is completely opaque, returns false by default.boolean
Returns true if the preferred size has been set to a non-null
value otherwise returns false.boolean
Determines whether this component is showing on screen.boolean
isValid()
Determines whether this component is valid.boolean
Determines whether this component should be visible when its parent is visible.boolean
Deprecated.As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).boolean
Deprecated.As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).void
layout()
Deprecated.As of JDK version 1.1, replaced bydoLayout()
.void
list()
Prints a listing of this component to the standard system output streamSystem.out
.void
list
(PrintStream out) Prints a listing of this component to the specified output stream.void
list
(PrintStream out, int indent) Prints out a list, starting at the specified indentation, to the specified print stream.void
list
(PrintWriter out) Prints a listing to the specified print writer.void
list
(PrintWriter out, int indent) Prints out a list, starting at the specified indentation, to the specified print writer.locate
(int x, int y) Deprecated.As of JDK version 1.1, replaced by getComponentAt(int, int).location()
Deprecated.As of JDK version 1.1, replaced bygetLocation()
.boolean
Deprecated.As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).Deprecated.As of JDK version 1.1, replaced bygetMinimumSize()
.boolean
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).boolean
Deprecated.As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).boolean
mouseEnter
(Event evt, int x, int y) Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).boolean
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).boolean
Deprecated.As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).boolean
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).void
move
(int x, int y) Deprecated.As of JDK version 1.1, replaced bysetLocation(int, int)
.void
Deprecated.As of JDK version 1.1, replaced by transferFocus().void
Paints this component.void
Paints this component and all of its subcomponents.protected String
Returns a string representing the state of this component.boolean
Deprecated.As of JDK version 1.1, replaced by dispatchEvent(AWTEvent).Deprecated.As of JDK version 1.1, replaced bygetPreferredSize()
.boolean
prepareImage
(Image image, int width, int height, ImageObserver observer) Prepares an image for rendering on this component at the specified width and height.boolean
prepareImage
(Image image, ImageObserver observer) Prepares an image for rendering on this component.void
Prints this component.void
Prints this component and all of its subcomponents.protected void
Processes component events occurring on this component by dispatching them to any registeredComponentListener
objects.protected void
Processes events occurring on this component.protected void
Processes focus events occurring on this component by dispatching them to any registeredFocusListener
objects.protected void
Processes hierarchy bounds events occurring on this component by dispatching them to any registeredHierarchyBoundsListener
objects.protected void
Processes hierarchy events occurring on this component by dispatching them to any registeredHierarchyListener
objects.protected void
Processes input method events occurring on this component by dispatching them to any registeredInputMethodListener
objects.protected void
Processes key events occurring on this component by dispatching them to any registeredKeyListener
objects.protected void
Processes mouse events occurring on this component by dispatching them to any registeredMouseListener
objects.protected void
Processes mouse motion events occurring on this component by dispatching them to any registeredMouseMotionListener
objects.protected void
Processes mouse wheel events occurring on this component by dispatching them to any registeredMouseWheelListener
objects.void
remove
(MenuComponent popup) Removes the specified popup menu from the component.void
Removes the specified component listener so that it no longer receives component events from this component.void
Removes the specified focus listener so that it no longer receives focus events from this component.void
Removes the specified hierarchy bounds listener so that it no longer receives hierarchy bounds events from this component.void
Removes the specified hierarchy listener so that it no longer receives hierarchy changed events from this component.void
Removes the specified input method listener so that it no longer receives input method events from this component.void
Removes the specified key listener so that it no longer receives key events from this component.void
Removes the specified mouse listener so that it no longer receives mouse events from this component.void
Removes the specified mouse motion listener so that it no longer receives mouse motion events from this component.void
Removes the specified mouse wheel listener so that it no longer receives mouse wheel events from this component.void
Makes thisComponent
undisplayable by destroying it native screen resource.void
Removes a PropertyChangeListener from the listener list.void
removePropertyChangeListener
(String propertyName, PropertyChangeListener listener) Removes aPropertyChangeListener
from the listener list for a specific property.void
repaint()
Repaints this component.void
repaint
(int x, int y, int width, int height) Repaints the specified rectangle of this component.void
repaint
(long tm) Repaints the component.void
repaint
(long tm, int x, int y, int width, int height) Repaints the specified rectangle of this component withintm
milliseconds.void
Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.protected boolean
requestFocus
(boolean temporary) Requests that thisComponent
get the input focus, and that thisComponent
's top-level ancestor become the focusedWindow
.protected boolean
requestFocus
(boolean temporary, FocusEvent.Cause cause) Requests by the reason ofcause
that thisComponent
get the input focus, and that thisComponent
's top-level ancestor become the focusedWindow
.void
requestFocus
(FocusEvent.Cause cause) Requests by the reason ofcause
that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.boolean
Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.protected boolean
requestFocusInWindow
(boolean temporary) Requests that thisComponent
get the input focus, if thisComponent
's top-level ancestor is already the focusedWindow
.boolean
Requests by the reason ofcause
that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.void
reshape
(int x, int y, int width, int height) Deprecated.As of JDK version 1.1, replaced bysetBounds(int, int, int, int)
.void
resize
(int width, int height) Deprecated.As of JDK version 1.1, replaced bysetSize(int, int)
.void
Deprecated.As of JDK version 1.1, replaced bysetSize(Dimension)
.void
Revalidates the component hierarchy up to the nearest validate root.void
Sets the background color of this component.void
setBounds
(int x, int y, int width, int height) Moves and resizes this component.void
Moves and resizes this component to conform to the new bounding rectangler
.void
Sets the language-sensitive orientation that is to be used to order the elements or text within this component.void
Sets the cursor image to the specified cursor.void
Associate aDropTarget
with this component.void
setEnabled
(boolean b) Enables or disables this component, depending on the value of the parameterb
.void
setFocusable
(boolean focusable) Sets the focusable state of this Component to the specified value.void
setFocusTraversalKeys
(int id, Set<? extends AWTKeyStroke> keystrokes) Sets the focus traversal keys for a given traversal operation for this Component.void
setFocusTraversalKeysEnabled
(boolean focusTraversalKeysEnabled) Sets whether focus traversal keys are enabled for this Component.void
Sets the font of this component.void
Sets the foreground color of this component.void
setIgnoreRepaint
(boolean ignoreRepaint) Sets whether or not paint messages received from the operating system should be ignored.void
Sets the locale of this component.void
setLocation
(int x, int y) Moves this component to a new location.void
setLocation
(Point p) Moves this component to a new location.void
setMaximumSize
(Dimension maximumSize) Sets the maximum size of this component to a constant value.void
setMinimumSize
(Dimension minimumSize) Sets the minimum size of this component to a constant value.void
setMixingCutoutShape
(Shape shape) Sets a 'mixing-cutout' shape for this lightweight component.void
Sets the name of the component to the specified string.void
setPreferredSize
(Dimension preferredSize) Sets the preferred size of this component to a constant value.void
setSize
(int width, int height) Resizes this component so that it has widthwidth
and heightheight
.void
Resizes this component so that it has widthd.width
and heightd.height
.void
setVisible
(boolean b) Shows or hides this component depending on the value of parameterb
.void
show()
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
.void
show
(boolean b) Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
.size()
Deprecated.As of JDK version 1.1, replaced bygetSize()
.toString()
Returns a string representation of this component and its values.void
Transfers the focus to the next component, as though this Component were the focus owner.void
Transfers the focus to the previous component, as though this Component were the focus owner.void
Transfers the focus up one focus traversal cycle.void
Updates this component.void
validate()
Validates this component.
-
Field Details
-
TOP_ALIGNMENT
public static final float TOP_ALIGNMENTEase-of-use constant forgetAlignmentY()
. Specifies an alignment to the top of the component.- See Also:
-
CENTER_ALIGNMENT
public static final float CENTER_ALIGNMENTEase-of-use constant forgetAlignmentY
andgetAlignmentX
. Specifies an alignment to the center of the component- See Also:
-
BOTTOM_ALIGNMENT
public static final float BOTTOM_ALIGNMENTEase-of-use constant forgetAlignmentY
. Specifies an alignment to the bottom of the component.- See Also:
-
LEFT_ALIGNMENT
public static final float LEFT_ALIGNMENTEase-of-use constant forgetAlignmentX
. Specifies an alignment to the left side of the component.- See Also:
-
RIGHT_ALIGNMENT
public static final float RIGHT_ALIGNMENTEase-of-use constant forgetAlignmentX
. Specifies an alignment to the right side of the component.- See Also:
-
accessibleContext
TheAccessibleContext
associated with thisComponent
.
-
-
Constructor Details
-
Component
protected Component()Constructs a new component. ClassComponent
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 aFrame
object).
-
-
Method Details
-
getName
Gets the name of the component.- Returns:
- this component's name
- Since:
- 1.1
- See Also:
-
setName
Sets the name of the component to the specified string.- Parameters:
name
- the string that is to be this component's name- Since:
- 1.1
- See Also:
-
getParent
Gets the parent of this component.- Returns:
- the parent container of this component
- Since:
- 1.0
-
setDropTarget
Associate aDropTarget
with this component. TheComponent
will receive drops only if it is enabled.- Parameters:
dt
- The DropTarget- See Also:
-
getDropTarget
Gets theDropTarget
associated with thisComponent
.- Returns:
- the drop target
-
getGraphicsConfiguration
Gets theGraphicsConfiguration
associated with thisComponent
. If theComponent
has not been assigned a specificGraphicsConfiguration
, theGraphicsConfiguration
of theComponent
object's top-level container is returned. If theComponent
has been created, but not yet added to aContainer
, this method returnsnull
.- Returns:
- the
GraphicsConfiguration
used by thisComponent
ornull
- Since:
- 1.3
-
getTreeLock
Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.- Returns:
- this component's locking object
-
getToolkit
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.- Returns:
- the toolkit of this component
- Since:
- 1.0
-
isValid
public boolean isValid()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.- Returns:
true
if the component is valid,false
otherwise- Since:
- 1.0
- See Also:
-
isDisplayable
public boolean isDisplayable()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.
- Returns:
true
if the component is displayable,false
otherwise- Since:
- 1.2
- See Also:
-
isVisible
public boolean isVisible()Determines whether this component should be visible when its parent is visible. Components are initially visible, with the exception of top level components such asFrame
objects.- Returns:
true
if the component is visible,false
otherwise- Since:
- 1.0
- See Also:
-
getMousePosition
Returns the position of the mouse pointer in thisComponent
's coordinate space if theComponent
is directly under the mouse pointer, otherwise returnsnull
. If theComponent
is not showing on the screen, this method returnsnull
even if the mouse pointer is above the area where theComponent
would be displayed. If theComponent
is partially or fully obscured by otherComponent
s or native windows, this method returns a non-null value only if the mouse pointer is located above the unobscured part of theComponent
.For
Container
s it returns a non-null value if the mouse is above theContainer
itself or above any of its descendants. UseContainer.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 isnull
, mouse pointer is not directly above theComponent
.- Returns:
- mouse coordinates relative to this
Component
, or null - Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true- Since:
- 1.5
- See Also:
-
isShowing
public boolean isShowing()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 theComponent
is not currently in the scroll pane's view port. - the
Component
is obscured by anotherComponent
orContainer
.
- Returns:
true
if the component is showing,false
otherwise- Since:
- 1.0
- See Also:
- the component has been added to a visible
-
isEnabled
public boolean isEnabled()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 itssetEnabled
method.- Returns:
true
if the component is enabled,false
otherwise- Since:
- 1.0
- See Also:
-
setEnabled
public void setEnabled(boolean b) Enables or disables this component, depending on the value of the parameterb
. 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
- Iftrue
, this component is enabled; otherwise this component is disabled- Since:
- 1.1
- See Also:
-
enable
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
. -
enable
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.Enables or disables this component.- Parameters:
b
-true
to enable this component; otherwisefalse
-
disable
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
. -
isDoubleBuffered
public boolean isDoubleBuffered()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.- Returns:
- false by default
-
enableInputMethods
public void enableInputMethods(boolean enable) 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- Since:
- 1.2
- See Also:
-
setVisible
public void setVisible(boolean b) Shows or hides this component depending on the value of parameterb
.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
b
- iftrue
, shows this component; otherwise, hides this component- Since:
- 1.1
- See Also:
-
show
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
. -
show
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
.Makes this component visible or invisible.- Parameters:
b
-true
to make this component visible; otherwisefalse
-
hide
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
. -
getForeground
Gets the foreground color of this component.- Returns:
- this component's foreground color; if this component does not have a foreground color, the foreground color of its parent is returned
- Since:
- 1.0
- See Also:
-
setForeground
Sets the foreground color of this component.- Parameters:
c
- the color to become this component's foreground color; if this parameter isnull
then this component will inherit the foreground color of its parent- Since:
- 1.0
- See Also:
-
isForegroundSet
public boolean isForegroundSet()Returns whether the foreground color has been explicitly set for this Component. If this method returnsfalse
, this Component is inheriting its foreground color from an ancestor.- Returns:
true
if the foreground color has been explicitly set for this Component;false
otherwise.- Since:
- 1.4
-
getBackground
Gets the background color of this component.- Returns:
- this component's background color; if this component does not have a background color, the background color of its parent is returned
- Since:
- 1.0
- See Also:
-
setBackground
Sets the background color of this component.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 isnull
, then this component will inherit the background color of its parent- Since:
- 1.0
- See Also:
-
isBackgroundSet
public boolean isBackgroundSet()Returns whether the background color has been explicitly set for this Component. If this method returnsfalse
, this Component is inheriting its background color from an ancestor.- Returns:
true
if the background color has been explicitly set for this Component;false
otherwise.- Since:
- 1.4
-
getFont
Gets the font of this component.- Specified by:
getFont
in interfaceMenuContainer
- Returns:
- this component's font; if a font has not been set for this component, the font of its parent is returned
- Since:
- 1.0
- See Also:
-
setFont
Sets the font of this component.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
f
- the font to become this component's font; if this parameter isnull
then this component will inherit the font of its parent- Since:
- 1.0
- See Also:
-
isFontSet
public boolean isFontSet()Returns whether the font has been explicitly set for this Component. If this method returnsfalse
, this Component is inheriting its font from an ancestor.- Returns:
true
if the font has been explicitly set for this Component;false
otherwise.- Since:
- 1.4
-
getLocale
Gets the locale of this component.- Returns:
- this component's locale; if this component does not have a locale, the locale of its parent is returned
- Throws:
IllegalComponentStateException
- if theComponent
does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent- Since:
- 1.1
- See Also:
-
setLocale
Sets the locale of this component. This is a bound property.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
l
- the locale to become this component's locale- Since:
- 1.1
- See Also:
-
getColorModel
Gets the instance ofColorModel
used to display the component on the output device.- Returns:
- the color model used by this component
- Since:
- 1.0
- See Also:
-
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). For this reason, the recommended method of obtaining a component's position is withinjava.awt.event.ComponentListener.componentMoved()
, which is called after the operating system has finished moving the component.- Returns:
- an instance of
Point
representing the top-left corner of the component's bounds in the coordinate space of the component's parent - Since:
- 1.1
- See Also:
-
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.- Returns:
- an instance of
Point
representing the top-left corner of the component's bounds in the coordinate space of the screen - Throws:
IllegalComponentStateException
- if the component is not showing on the screen- See Also:
-
location
Deprecated.As of JDK version 1.1, replaced bygetLocation()
.Returns the location of this component's top left corner.- Returns:
- the location of this component's top left corner
-
setLocation
public void setLocation(int x, int y) Moves this component to a new location. The top-left corner of the new location is specified by thex
andy
parameters in the coordinate space of this component's parent.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
x
- the x-coordinate of the new location's top-left corner in the parent's coordinate spacey
- the y-coordinate of the new location's top-left corner in the parent's coordinate space- Since:
- 1.1
- See Also:
-
move
Deprecated.As of JDK version 1.1, replaced bysetLocation(int, int)
.Moves this component to a new location.- Parameters:
x
- the x-coordinate of the new location's top-left corner in the parent's coordinate spacey
- the y-coordinate of the new location's top-left corner in the parent's coordinate space
-
setLocation
Moves this component to a new location. The top-left corner of the new location is specified by pointp
. Pointp
is given in the parent's coordinate space.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
p
- the point defining the top-left corner of the new location, given in the coordinate space of this component's parent- Since:
- 1.1
- See Also:
-
getSize
Returns the size of this component in the form of aDimension
object. Theheight
field of theDimension
object contains this component's height, and thewidth
field of theDimension
object contains this component's width.- Returns:
- a
Dimension
object that indicates the size of this component - Since:
- 1.1
- See Also:
-
size
Deprecated.As of JDK version 1.1, replaced bygetSize()
.Returns the size of this component in the form of aDimension
object.- Returns:
- the
Dimension
object that indicates the size of this component
-
setSize
public void setSize(int width, int height) Resizes this component so that it has widthwidth
and heightheight
.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
width
- the new width of this component in pixelsheight
- the new height of this component in pixels- Since:
- 1.1
- See Also:
-
resize
Deprecated.As of JDK version 1.1, replaced bysetSize(int, int)
.Resizes this component.- Parameters:
width
- the new width of the componentheight
- the new height of the component
-
setSize
Resizes this component so that it has widthd.width
and heightd.height
.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
d
- the dimension specifying the new size of this component- Throws:
NullPointerException
- ifd
isnull
- Since:
- 1.1
- See Also:
-
resize
Deprecated.As of JDK version 1.1, replaced bysetSize(Dimension)
.Resizes this component so that it has widthd.width
and heightd.height
.- Parameters:
d
- the new size of this component
-
getBounds
Gets the bounds of this component in the form of aRectangle
object. The bounds specify this component's width, height, and location relative to its parent.- Returns:
- a rectangle indicating this component's bounds
- See Also:
-
bounds
Deprecated.As of JDK version 1.1, replaced bygetBounds()
.Returns the bounding rectangle of this component.- Returns:
- the bounding rectangle for this component
-
setBounds
public void setBounds(int x, int y, int width, int height) Moves and resizes this component. The new location of the top-left corner is specified byx
andy
, and the new size is specified bywidth
andheight
.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
x
- the new x-coordinate of this componenty
- the new y-coordinate of this componentwidth
- the newwidth
of this componentheight
- the newheight
of this component- Since:
- 1.1
- See Also:
-
reshape
Deprecated.As of JDK version 1.1, replaced bysetBounds(int, int, int, int)
.Reshapes the bounding rectangle for this component.- Parameters:
x
- the x coordinate of the upper left corner of the rectangley
- the y coordinate of the upper left corner of the rectanglewidth
- the width of the rectangleheight
- the height of the rectangle
-
setBounds
Moves and resizes this component to conform to the new bounding rectangler
. This component's new position is specified byr.x
andr.y
, and its new size is specified byr.width
andr.height
This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
r
- the new bounding rectangle for this component- Throws:
NullPointerException
- ifr
isnull
- Since:
- 1.1
- See Also:
-
getX
public int getX()Returns the current x coordinate of the components origin. This method is preferable to writingcomponent.getBounds().x
, orcomponent.getLocation().x
because it doesn't cause any heap allocations.- Returns:
- the current x coordinate of the components origin
- Since:
- 1.2
-
getY
public int getY()Returns the current y coordinate of the components origin. This method is preferable to writingcomponent.getBounds().y
, orcomponent.getLocation().y
because it doesn't cause any heap allocations.- Returns:
- the current y coordinate of the components origin
- Since:
- 1.2
-
getWidth
public int getWidth()Returns the current width of this component. This method is preferable to writingcomponent.getBounds().width
, orcomponent.getSize().width
because it doesn't cause any heap allocations.- Returns:
- the current width of this component
- Since:
- 1.2
-
getHeight
public int getHeight()Returns the current height of this component. This method is preferable to writingcomponent.getBounds().height
, orcomponent.getSize().height
because it doesn't cause any heap allocations.- Returns:
- the current height of this component
- Since:
- 1.2
-
getBounds
Stores the bounds of this component into "return value" rv and return rv. If rv isnull
a newRectangle
is allocated. This version ofgetBounds
is useful if the caller wants to avoid allocating a newRectangle
object on the heap.- Parameters:
rv
- the return value, modified to the components bounds- Returns:
- rv
-
getSize
Stores the width/height of this component into "return value" rv and return rv. If rv isnull
a newDimension
object is allocated. This version ofgetSize
is useful if the caller wants to avoid allocating a newDimension
object on the heap.- Parameters:
rv
- the return value, modified to the components size- Returns:
- rv
-
getLocation
Stores the x,y origin of this component into "return value" rv and return rv. If rv isnull
a newPoint
is allocated. This version ofgetLocation
is useful if the caller wants to avoid allocating a newPoint
object on the heap.- Parameters:
rv
- the return value, modified to the components location- Returns:
- rv
-
isOpaque
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. 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.
Subclasses that guarantee to always completely paint their contents should override this method and return true.
- Returns:
- true if this component is completely opaque
- Since:
- 1.2
- See Also:
-
isLightweight
public boolean isLightweight()A lightweight component doesn't have a native toolkit peer. Subclasses ofComponent
andContainer
, other than the ones defined in this package likeButton
orScrollbar
, 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.- Returns:
- true if this component has a lightweight peer; false if it has a native peer or no peer
- Since:
- 1.2
- See Also:
-
setPreferredSize
Sets the preferred size of this component to a constant value. Subsequent calls togetPreferredSize
will always return this value. Setting the preferred size tonull
restores the default behavior.- Parameters:
preferredSize
- The new preferred size, or null- Since:
- 1.5
- See Also:
-
isPreferredSizeSet
public boolean isPreferredSizeSet()Returns true if the preferred size has been set to a non-null
value otherwise returns false.- Returns:
- true if
setPreferredSize
has been invoked with a non-null value. - Since:
- 1.5
-
getPreferredSize
Gets the preferred size of this component.- Returns:
- a dimension object indicating this component's preferred size
- See Also:
-
preferredSize
Deprecated.As of JDK version 1.1, replaced bygetPreferredSize()
.Returns the component's preferred size.- Returns:
- the component's preferred size
-
setMinimumSize
Sets the minimum size of this component to a constant value. Subsequent calls togetMinimumSize
will always return this value. Setting the minimum size tonull
restores the default behavior.- Parameters:
minimumSize
- the new minimum size of this component- Since:
- 1.5
- See Also:
-
isMinimumSizeSet
public boolean isMinimumSizeSet()Returns whether or notsetMinimumSize
has been invoked with a non-null value.- Returns:
- true if
setMinimumSize
has been invoked with a non-null value. - Since:
- 1.5
-
getMinimumSize
Gets the minimum size of this component.- Returns:
- a dimension object indicating this component's minimum size
- See Also:
-
minimumSize
Deprecated.As of JDK version 1.1, replaced bygetMinimumSize()
.Returns the minimum size of this component.- Returns:
- the minimum size of this component
-
setMaximumSize
Sets the maximum size of this component to a constant value. Subsequent calls togetMaximumSize
will always return this value. Setting the maximum size tonull
restores the default behavior.- Parameters:
maximumSize
- aDimension
containing the desired maximum allowable size- Since:
- 1.5
- See Also:
-
isMaximumSizeSet
public boolean isMaximumSizeSet()Returns true if the maximum size has been set to a non-null
value otherwise returns false.- Returns:
- true if
maximumSize
is non-null
, false otherwise - Since:
- 1.5
-
getMaximumSize
Gets the maximum size of this component.- Returns:
- a dimension object indicating this component's maximum size
- See Also:
-
getAlignmentX
public float getAlignmentX()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 horizontal alignment of this component
-
getAlignmentY
public float getAlignmentY()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.- Returns:
- the vertical alignment of this component
-
getBaseline
public int getBaseline(int width, int height) Returns the baseline. The baseline is measured from the top of the component. This method is primarily meant forLayoutManager
s to align components along their baseline. A return value less than 0 indicates this component does not have a reasonable baseline and thatLayoutManager
s 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 forheight
- the height to get the baseline for- Returns:
- the baseline or < 0 indicating there is no reasonable baseline
- Throws:
IllegalArgumentException
- if width or height is < 0- Since:
- 1.6
- See Also:
-
getBaselineResizeBehavior
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 returnnull
; if the baseline can not be calculated returnBaselineResizeBehavior.OTHER
. Callers should first ask for the baseline usinggetBaseline
and if a value >= 0 is returned use this method. It is acceptable for this method to return a value other thanBaselineResizeBehavior.OTHER
even ifgetBaseline
returns a value less than 0.- Returns:
- an enum indicating how the baseline changes as the component size changes
- Since:
- 1.6
- See Also:
-
doLayout
public void doLayout()Prompts the layout manager to lay out this component. This is usually called when the component (more specifically, container) is validated.- See Also:
-
layout
Deprecated.As of JDK version 1.1, replaced bydoLayout()
. -
validate
public void validate()Validates this component.The meaning of the term validating is defined by the ancestors of this class. See
Container.validate()
for more details.- Since:
- 1.0
- See Also:
-
invalidate
public void invalidate()Invalidates this component and its ancestors.By default, all the ancestors of the component up to the top-most container of the hierarchy are marked invalid. If the
java.awt.smartInvalidate
system property is set totrue
, invalidation stops on the nearest validate root of this component. Marking a container invalid indicates that the container needs to be laid out.This method is called automatically when any layout-related information changes (e.g. setting the bounds of the component, or adding the component to a container).
This method might be called often, so it should work fast.
- Since:
- 1.0
- See Also:
-
revalidate
public void revalidate()Revalidates the component hierarchy up to the nearest validate root.This method first invalidates the component hierarchy starting from this component up to the nearest validate root. Afterwards, the component hierarchy is validated starting from the nearest validate root.
This is a convenience method supposed to help application developers avoid looking for validate roots manually. Basically, it's equivalent to first calling the
invalidate()
method on this component, and then calling thevalidate()
method on the nearest validate root.- Since:
- 1.7
- See Also:
-
getGraphics
Creates a graphics context for this component. This method will returnnull
if this component is currently not displayable.- Returns:
- a graphics context for this component, or
null
if it has none - Since:
- 1.0
- See Also:
-
getFontMetrics
Gets the font metrics for the specified font. Warning: Since Font metrics are affected by theFontRenderContext
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 ifGraphics2D
functionality is being used. Instead metrics can be obtained at rendering time by callingGraphics.getFontMetrics()
or text measurement APIs on theFont
class.- Parameters:
font
- the font for which font metrics is to be obtained- Returns:
- the font metrics for
font
- Since:
- 1.0
- See Also:
-
setCursor
Sets the cursor image to the specified cursor. This cursor image is displayed when thecontains
method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of aContainer
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 theCursor
class; if this parameter isnull
then this component will inherit the cursor of its parent- Since:
- 1.1
- See Also:
-
getCursor
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.- Returns:
- the cursor for this component
- Since:
- 1.1
- See Also:
-
isCursorSet
public boolean isCursorSet()Returns whether the cursor has been explicitly set for this Component. If this method returnsfalse
, this Component is inheriting its cursor from an ancestor.- Returns:
true
if the cursor has been explicitly set for this Component;false
otherwise.- Since:
- 1.4
-
paint
Paints this component.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 ofComponent
that override this method need not callsuper.paint(g)
.For performance reasons,
Component
s 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- Since:
- 1.0
- See Also:
-
update
Updates this component.If this component is not a lightweight component, the AWT calls the
update
method in response to a call torepaint
. You can assume that the background is not cleared.The
update
method ofComponent
calls this component'spaint
method to redraw this component. This method is commonly overridden by subclasses which need to do additional work in response to a call torepaint
. Subclasses of Component that override this method should either callsuper.update(g)
, or callpaint(g)
directly from theirupdate
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- Since:
- 1.0
- See Also:
-
paintAll
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- Since:
- 1.0
- See Also:
-
repaint
public void repaint()Repaints 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'supdate
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.
- Since:
- 1.0
- See Also:
-
repaint
public void repaint(long tm) Repaints the component. If this component is a lightweight component, this results in a call topaint
withintm
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- Since:
- 1.0
- See Also:
-
repaint
public void repaint(int x, int y, int width, int height) 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'supdate
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 coordinatey
- the y coordinatewidth
- the widthheight
- the height- Since:
- 1.0
- See Also:
-
repaint
public void repaint(long tm, int x, int y, int width, int height) Repaints the specified rectangle of this component withintm
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'supdate
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 updatex
- the x coordinatey
- the y coordinatewidth
- the widthheight
- the height- Since:
- 1.0
- See Also:
-
print
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- Since:
- 1.0
- See Also:
-
printAll
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- Since:
- 1.0
- See Also:
-
imageUpdate
Repaints the component when the image has changed. ThisimageUpdate
method of anImageObserver
is called when more information about an image which had been previously requested using an asynchronous routine such as thedrawImage
method ofGraphics
becomes available. See the definition ofimageUpdate
for more information on this method and its arguments.The
imageUpdate
method ofComponent
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 valuetrue
, 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.The interpretation of the
x
,y
,width
, andheight
arguments depends on the value of theinfoflags
argument.- Specified by:
imageUpdate
in interfaceImageObserver
- Parameters:
img
- the image being observedinfoflags
- seeimageUpdate
for more informationx
- the x coordinatey
- the y coordinatew
- the widthh
- the height- Returns:
false
if the infoflags indicate that the image is completely loaded;true
otherwise.- Since:
- 1.0
- See Also:
-
createImage
Creates an image from the specified image producer.- Parameters:
producer
- the image producer- Returns:
- the image produced
- Since:
- 1.0
-
createImage
Creates an off-screen drawable image to be used for double buffering.- Parameters:
width
- the specified widthheight
- the specified height- Returns:
- an off-screen drawable image, which can be used for double
buffering. The
null
value if the component is not displayable orGraphicsEnvironment.isHeadless()
returnstrue
. - Since:
- 1.0
- See Also:
-
createVolatileImage
Creates a volatile off-screen drawable image to be used for double buffering.- Parameters:
width
- the specified widthheight
- the specified height- Returns:
- an off-screen drawable image, which can be used for double
buffering. The
null
value if the component is not displayable orGraphicsEnvironment.isHeadless()
returnstrue
. - Since:
- 1.4
- See Also:
-
createVolatileImage
public VolatileImage createVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException 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 theVolatileImage
interface.- Parameters:
width
- the specified widthheight
- the specified heightcaps
- the image capabilities- Returns:
- a VolatileImage object, which can be used to manage surface
contents loss and capabilities. The
null
value if the component is not displayable orGraphicsEnvironment.isHeadless()
returnstrue
. - Throws:
AWTException
- if an image with the specified capabilities cannot be created- Since:
- 1.4
- See Also:
-
prepareImage
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
- theImage
for which to prepare a screen representationobserver
- theImageObserver
object to be notified as the image is being prepared- Returns:
true
if the image has already been fully prepared;false
otherwise- Since:
- 1.0
-
prepareImage
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 ofImage
for which to prepare a screen representationwidth
- the width of the desired screen representationheight
- the height of the desired screen representationobserver
- theImageObserver
object to be notified as the image is being prepared- Returns:
true
if the image has already been fully prepared;false
otherwise- Since:
- 1.0
- See Also:
-
checkImage
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.Information on the flags returned by this method can be found with the discussion of the
ImageObserver
interface.- Parameters:
image
- theImage
object whose status is being checkedobserver
- theImageObserver
object to be notified as the image is being prepared- Returns:
- the bitwise inclusive OR of
ImageObserver
flags indicating what information about the image is currently available - Since:
- 1.0
- See Also:
-
checkImage
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 ofComponent
calls its peer'scheckImage
method to calculate the flags. If this component does not yet have a peer, the component's toolkit'scheckImage
method is called instead.Information on the flags returned by this method can be found with the discussion of the
ImageObserver
interface.- Parameters:
image
- theImage
object whose status is being checkedwidth
- the width of the scaled version whose status is to be checkedheight
- the height of the scaled version whose status is to be checkedobserver
- theImageObserver
object to be notified as the image is being prepared- Returns:
- the bitwise inclusive OR of
ImageObserver
flags indicating what information about the image is currently available - Since:
- 1.0
- See Also:
-
setIgnoreRepaint
public void setIgnoreRepaint(boolean ignoreRepaint) 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.This is useful, for example, if running under full-screen mode and better performance is desired, or if page-flipping is used as the buffer strategy.
- Parameters:
ignoreRepaint
-true
if the paint messages from the OS should be ignored; otherwisefalse
- Since:
- 1.4
- See Also:
-
getIgnoreRepaint
public boolean getIgnoreRepaint()Returns whether or not paint messages received from the operating system should be ignored.- Returns:
- whether or not paint messages received from the operating system should be ignored
- Since:
- 1.4
- See Also:
-
contains
public boolean contains(int x, int y) Checks whether this component "contains" the specified point, wherex
andy
are defined to be relative to the coordinate system of this component.- Parameters:
x
- the x coordinate of the pointy
- the y coordinate of the point- Returns:
true
if the point is within the component; otherwisefalse
- Since:
- 1.1
- See Also:
-
inside
Deprecated.As of JDK version 1.1, replaced by contains(int, int).Checks whether the point is inside of this component.- Parameters:
x
- the x coordinate of the pointy
- the y coordinate of the point- Returns:
true
if the point is within the component; otherwisefalse
-
contains
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- Returns:
true
if the point is within the component; otherwisefalse
- Throws:
NullPointerException
- ifp
isnull
- Since:
- 1.1
- See Also:
-
getComponentAt
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 ofComponent
simply returns the component itself if the (x, y) coordinate location is inside its bounding box, andnull
otherwise.- Parameters:
x
- the x coordinatey
- the y coordinate- Returns:
- the component or subcomponent that contains the
(x, y) location;
null
if the location is outside this component - Since:
- 1.0
- See Also:
-
locate
Deprecated.As of JDK version 1.1, replaced by getComponentAt(int, int).Returns the component occupying the position specified (this component, or immediate child component, or null if neither of the first two occupies the location).- Parameters:
x
- the x coordinate to search for components aty
- the y coordinate to search for components at- Returns:
- the component at the specified location or
null
-
getComponentAt
-
deliverEvent
Deprecated.As of JDK version 1.1, replaced bydispatchEvent(AWTEvent e)
.- Parameters:
e
- the event to deliver
-
dispatchEvent
Dispatches an event to this component or one of its sub components. CallsprocessEvent
before returning for 1.1-style events which have been enabled for theComponent
.- Parameters:
e
- the event
-
postEvent
Deprecated.As of JDK version 1.1, replaced by dispatchEvent(AWTEvent).Description copied from interface:MenuContainer
Posts an event to the listeners.- Specified by:
postEvent
in interfaceMenuContainer
- Parameters:
e
- the event to dispatch- Returns:
- the results of posting the event
-
addComponentListener
Adds the specified component listener to receive component events from this component. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the component listener- Since:
- 1.1
- See Also:
-
removeComponentListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the component listener- Since:
- 1.1
- See Also:
-
getComponentListeners
Returns an array of all the component listeners registered on this component.- Returns:
- all
ComponentListener
s of this component or an empty array if no component listeners are currently registered - Since:
- 1.4
- See Also:
-
addFocusListener
Adds the specified focus listener to receive focus events from this component when this component gains input focus. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the focus listener- Since:
- 1.1
- See Also:
-
removeFocusListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the focus listener- Since:
- 1.1
- See Also:
-
getFocusListeners
Returns an array of all the focus listeners registered on this component.- Returns:
- all of this component's
FocusListener
s or an empty array if no component listeners are currently registered - Since:
- 1.4
- See Also:
-
addHierarchyListener
Adds the specified hierarchy listener to receive hierarchy changed events from this component when the hierarchy to which this container belongs changes. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the hierarchy listener- Since:
- 1.3
- See Also:
-
removeHierarchyListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the hierarchy listener- Since:
- 1.3
- See Also:
-
getHierarchyListeners
Returns an array of all the hierarchy listeners registered on this component.- Returns:
- all of this component's
HierarchyListener
s or an empty array if no hierarchy listeners are currently registered - Since:
- 1.4
- See Also:
-
addHierarchyBoundsListener
Adds the specified hierarchy bounds listener to receive hierarchy bounds events from this component when the hierarchy to which this container belongs changes. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the hierarchy bounds listener- Since:
- 1.3
- See Also:
-
removeHierarchyBoundsListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the hierarchy bounds listener- Since:
- 1.3
- See Also:
-
getHierarchyBoundsListeners
Returns an array of all the hierarchy bounds listeners registered on this component.- Returns:
- all of this component's
HierarchyBoundsListener
s or an empty array if no hierarchy bounds listeners are currently registered - Since:
- 1.4
- See Also:
-
addKeyListener
Adds the specified key listener to receive key events from this component. If l is null, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the key listener.- Since:
- 1.1
- See Also:
-
removeKeyListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the key listener- Since:
- 1.1
- See Also:
-
getKeyListeners
Returns an array of all the key listeners registered on this component.- Returns:
- all of this component's
KeyListener
s or an empty array if no key listeners are currently registered - Since:
- 1.4
- See Also:
-
addMouseListener
Adds the specified mouse listener to receive mouse events from this component. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the mouse listener- Since:
- 1.1
- See Also:
-
removeMouseListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the mouse listener- Since:
- 1.1
- See Also:
-
getMouseListeners
Returns an array of all the mouse listeners registered on this component.- Returns:
- all of this component's
MouseListener
s or an empty array if no mouse listeners are currently registered - Since:
- 1.4
- See Also:
-
addMouseMotionListener
Adds the specified mouse motion listener to receive mouse motion events from this component. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the mouse motion listener- Since:
- 1.1
- See Also:
-
removeMouseMotionListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the mouse motion listener- Since:
- 1.1
- See Also:
-
getMouseMotionListeners
Returns an array of all the mouse motion listeners registered on this component.- Returns:
- all of this component's
MouseMotionListener
s or an empty array if no mouse motion listeners are currently registered - Since:
- 1.4
- See Also:
-
addMouseWheelListener
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.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the mouse wheel listener- Since:
- 1.4
- See Also:
-
removeMouseWheelListener
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.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the mouse wheel listener.- Since:
- 1.4
- See Also:
-
getMouseWheelListeners
Returns an array of all the mouse wheel listeners registered on this component.- Returns:
- all of this component's
MouseWheelListener
s or an empty array if no mouse wheel listeners are currently registered - Since:
- 1.4
- See Also:
-
addInputMethodListener
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 overridesgetInputMethodRequests
to return anInputMethodRequests
instance. If listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the input method listener- Since:
- 1.2
- See Also:
-
removeInputMethodListener
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 listenerl
isnull
, no exception is thrown and no action is performed.Refer to AWT Threading Issues for details on AWT's threading model.
- Parameters:
l
- the input method listener- Since:
- 1.2
- See Also:
-
getInputMethodListeners
Returns an array of all the input method listeners registered on this component.- Returns:
- all of this component's
InputMethodListener
s or an empty array if no input method listeners are currently registered - Since:
- 1.4
- See Also:
-
getListeners
Returns an array of all the objects currently registered asFooListener
s upon thisComponent
.FooListener
s are registered using theaddFooListener
method.You can specify the
listenerType
argument with a class literal, such asFooListener.class
. For example, you can query aComponent c
for its mouse listeners with the following code:MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));
If no such listeners exist, this method returns an empty array.- Type Parameters:
T
- the type of the listeners- Parameters:
listenerType
- the type of listeners requested; this parameter should specify an interface that descends fromjava.util.EventListener
- Returns:
- an array of all objects registered as
FooListener
s on this component, or an empty array if no such listeners have been added - Throws:
ClassCastException
- iflistenerType
doesn't specify a class or interface that implementsjava.util.EventListener
NullPointerException
- iflistenerType
isnull
- Since:
- 1.3
- See Also:
-
getInputMethodRequests
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 anInputMethodRequests
instance. At the same time, it also has to handle input method events.- Returns:
- the input method request handler for this component,
null
by default - Since:
- 1.2
- See Also:
-
getInputContext
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.- Returns:
- the input context used by this component;
null
if no context can be determined - Since:
- 1.2
-
enableEvents
protected final void enableEvents(long eventsToEnable) 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 toprocessEvent
regardless of whether or not a listener is registered.- Parameters:
eventsToEnable
- the event mask defining the event types- Since:
- 1.1
- See Also:
-
disableEvents
protected final void disableEvents(long eventsToDisable) 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- Since:
- 1.1
- See Also:
-
coalesceEvents
Potentially coalesce an event being posted with an existing event. This method is called byEventQueue.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), ornull
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 unlessnull
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 complexRepaintArea
in the peer. The newAWTEvent
is always returned.- Parameters:
existingEvent
- the event already on theEventQueue
newEvent
- the event being posted to theEventQueue
- Returns:
- a coalesced event, or
null
indicating that no coalescing was done
-
processEvent
Processes events occurring on this component. By default this method calls the appropriateprocess<event type>Event
method for the given class of event.Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the event- Since:
- 1.1
- See Also:
-
processComponentEvent
Processes component events occurring on this component by dispatching them to any registeredComponentListener
objects.This method is not called unless component events are enabled for this component. Component events are enabled when one of the following occurs:
- A
ComponentListener
object is registered viaaddComponentListener
. - Component events are enabled via
enableEvents
.
Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the component event- Since:
- 1.1
- See Also:
- A
-
processFocusEvent
Processes focus events occurring on this component by dispatching them to any registeredFocusListener
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 viaaddFocusListener
. - Focus events are enabled via
enableEvents
.
If focus events are enabled for a
Component
, the currentKeyboardFocusManager
determines whether or not a focus event should be dispatched to registeredFocusListener
objects. If the events are to be dispatched, theKeyboardFocusManager
calls theComponent
'sdispatchEvent
method, which results in a call to theComponent
'sprocessFocusEvent
method.If focus events are enabled for a
Component
, calling theComponent
'sdispatchEvent
method with aFocusEvent
as the argument will result in a call to theComponent
'sprocessFocusEvent
method regardless of the currentKeyboardFocusManager
.Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the focus event- Since:
- 1.1
- See Also:
- A
-
processKeyEvent
Processes key events occurring on this component by dispatching them to any registeredKeyListener
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 viaaddKeyListener
. - Key events are enabled via
enableEvents
.
If key events are enabled for a
Component
, the currentKeyboardFocusManager
determines whether or not a key event should be dispatched to registeredKeyListener
objects. TheDefaultKeyboardFocusManager
will not dispatch key events to aComponent
that is not the focus owner or is not showing.As of J2SE 1.4,
KeyEvent
s are redirected to the focus owner. Please see the Focus Specification for further information.Calling a
Component
'sdispatchEvent
method with aKeyEvent
as the argument will result in a call to theComponent
'sprocessKeyEvent
method regardless of the currentKeyboardFocusManager
as long as the component is showing, focused, and enabled, and key events are enabled on it.If the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the key event- Since:
- 1.1
- See Also:
- A
-
processMouseEvent
Processes mouse events occurring on this component by dispatching them to any registeredMouseListener
objects.This method is not called unless mouse events are enabled for this component. Mouse events are enabled when one of the following occurs:
- A
MouseListener
object is registered viaaddMouseListener
. - Mouse events are enabled via
enableEvents
.
Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the mouse event- Since:
- 1.1
- See Also:
- A
-
processMouseMotionEvent
Processes mouse motion events occurring on this component by dispatching them to any registeredMouseMotionListener
objects.This method is not called unless mouse motion events are enabled for this component. Mouse motion events are enabled when one of the following occurs:
- A
MouseMotionListener
object is registered viaaddMouseMotionListener
. - Mouse motion events are enabled via
enableEvents
.
Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the mouse motion event- Since:
- 1.1
- See Also:
- A
-
processMouseWheelEvent
Processes mouse wheel events occurring on this component by dispatching them to any registeredMouseWheelListener
objects.This method is not called unless mouse wheel events are enabled for this component. Mouse wheel events are enabled when one of the following occurs:
- A
MouseWheelListener
object is registered viaaddMouseWheelListener
. - Mouse wheel events are enabled via
enableEvents
.
For information on how mouse wheel events are dispatched, see the class description for
MouseWheelEvent
.Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the mouse wheel event- Since:
- 1.4
- See Also:
- A
-
processInputMethodEvent
Processes input method events occurring on this component by dispatching them to any registeredInputMethodListener
objects.This method is not called unless input method events are enabled for this component. Input method events are enabled when one of the following occurs:
- An
InputMethodListener
object is registered viaaddInputMethodListener
. - Input method events are enabled via
enableEvents
.
Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the input method event- Since:
- 1.2
- See Also:
- An
-
processHierarchyEvent
Processes hierarchy events occurring on this component by dispatching them to any registeredHierarchyListener
objects.This method is not called unless hierarchy events are enabled for this component. Hierarchy events are enabled when one of the following occurs:
- An
HierarchyListener
object is registered viaaddHierarchyListener
. - Hierarchy events are enabled via
enableEvents
.
Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the hierarchy event- Since:
- 1.3
- See Also:
- An
-
processHierarchyBoundsEvent
Processes hierarchy bounds events occurring on this component by dispatching them to any registeredHierarchyBoundsListener
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 viaaddHierarchyBoundsListener
. - Hierarchy bounds events are enabled via
enableEvents
.
Note that if the event parameter is
null
the behavior is unspecified and may result in an exception.- Parameters:
e
- the hierarchy event- Since:
- 1.3
- See Also:
- An
-
handleEvent
Deprecated.As of JDK version 1.1 replaced by processEvent(AWTEvent).- Parameters:
evt
- the event to handle- Returns:
true
if the event was handled,false
otherwise
-
mouseDown
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- Parameters:
evt
- the event to handlex
- the x coordinatey
- the y coordinate- Returns:
false
-
mouseDrag
Deprecated.As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).- Parameters:
evt
- the event to handlex
- the x coordinatey
- the y coordinate- Returns:
false
-
mouseUp
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- Parameters:
evt
- the event to handlex
- the x coordinatey
- the y coordinate- Returns:
false
-
mouseMove
Deprecated.As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).- Parameters:
evt
- the event to handlex
- the x coordinatey
- the y coordinate- Returns:
false
-
mouseEnter
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- Parameters:
evt
- the event to handlex
- the x coordinatey
- the y coordinate- Returns:
false
-
mouseExit
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- Parameters:
evt
- the event to handlex
- the x coordinatey
- the y coordinate- Returns:
false
-
keyDown
Deprecated.As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).- Parameters:
evt
- the event to handlekey
- the key pressed- Returns:
false
-
keyUp
Deprecated.As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).- Parameters:
evt
- the event to handlekey
- the key pressed- Returns:
false
-
action
Deprecated.As of JDK version 1.1, should register this component as ActionListener on component which fires action events.- Parameters:
evt
- the event to handlewhat
- the object acted on- Returns:
false
-
addNotify
public void addNotify()Makes thisComponent
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.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Since:
- 1.0
- See Also:
-
removeNotify
public void removeNotify()Makes thisComponent
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.- Since:
- 1.0
- See Also:
-
gotFocus
Deprecated.As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).- Parameters:
evt
- the event to handlewhat
- the object focused- Returns:
false
-
lostFocus
Deprecated.As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).- Parameters:
evt
- the event to handlewhat
- the object focused- Returns:
false
-
isFocusTraversable
Deprecated.As of 1.4, replaced byisFocusable()
.Returns whether thisComponent
can become the focus owner.- Returns:
true
if thisComponent
is focusable;false
otherwise- Since:
- 1.1
- See Also:
-
isFocusable
public boolean isFocusable()Returns whether this Component can be focused.- Returns:
true
if this Component is focusable;false
otherwise.- Since:
- 1.4
- See Also:
-
setFocusable
public void setFocusable(boolean focusable) 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- Since:
- 1.4
- See Also:
-
setFocusTraversalKeys
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.
Recommended default values for a Component's focus traversal keys 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 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.
This method may throw a
ClassCastException
if anyObject
inkeystrokes
is not anAWTKeyStroke
.- Parameters:
id
- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSkeystrokes
- the Set of AWTKeyStroke for the specified operation- Throws:
IllegalArgumentException
- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or if keystrokes contains null, or if any keystroke represents a KEY_TYPED event, or if any keystroke already maps to another focus traversal operation for this Component- Since:
- 1.4
- See Also:
-
getFocusTraversalKeys
Returns the Set of focus traversal keys for a given traversal operation for this Component. (SeesetFocusTraversalKeys
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, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS- Returns:
- the Set of AWTKeyStrokes for the specified operation. The Set will be unmodifiable, and may be empty. null will never be returned.
- Throws:
IllegalArgumentException
- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS- Since:
- 1.4
- See Also:
-
areFocusTraversalKeysSet
public boolean areFocusTraversalKeysSet(int id) Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component. If this method returnsfalse
, 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, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS- Returns:
true
if the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component;false
otherwise.- Throws:
IllegalArgumentException
- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS- Since:
- 1.4
-
setFocusTraversalKeysEnabled
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. 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 are enabled for this Component- Since:
- 1.4
- See Also:
-
getFocusTraversalKeysEnabled
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. Components for which focus traversal keys are enabled do not see these events; instead, the events are automatically converted to traversal operations.- Returns:
- whether focus traversal keys are enabled for this Component
- Since:
- 1.4
- See Also:
-
requestFocus
public void requestFocus()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.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 ofComponent
being invoked.- Since:
- 1.0
- See Also:
-
requestFocus
Requests by the reason ofcause
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.The focus request effect may also depend on the provided cause value. If this request is succeed the
FocusEvent
generated in the result will receive the cause value specified as the argument of method. 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(FocusEvent.Cause)
when possible.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 ofComponent
being invoked.- Parameters:
cause
- the cause why the focus is requested- Since:
- 9
- See Also:
-
requestFocus
protected boolean requestFocus(boolean temporary) Requests that thisComponent
get the input focus, and that thisComponent
's top-level ancestor become the focusedWindow
. 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. Iftrue
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 oftrue
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
FocusEvent
s 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 lightweightComponent
s. 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 ofComponent
being invoked.- Parameters:
temporary
- true if the focus change is temporary, such as when the window loses the focus; for more information on temporary focus changes see the Focus Specification- Returns:
false
if the focus change request is guaranteed to fail;true
if it is likely to succeed- Since:
- 1.4
- See Also:
-
requestFocus
Requests by the reason ofcause
that thisComponent
get the input focus, and that thisComponent
's top-level ancestor become the focusedWindow
. 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. Iftrue
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 oftrue
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.The focus request effect may also depend on the provided cause value. If this request is succeed the {FocusEvent} generated in the result will receive the cause value specified as the argument of the method.
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
FocusEvent
s 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 lightweightComponent
s. 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 ofComponent
being invoked.- Parameters:
temporary
- true if the focus change is temporary, such as when the window loses the focus; for more information on temporary focus changes see the Focus Specificationcause
- the cause why the focus is requested- Returns:
false
if the focus change request is guaranteed to fail;true
if it is likely to succeed- Since:
- 9
- See Also:
-
requestFocusInWindow
public boolean requestFocusInWindow()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. Iftrue
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 oftrue
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 onrequestFocus
may exhibit different focus behavior on different platforms.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 ofComponent
being invoked.- Returns:
false
if the focus change request is guaranteed to fail;true
if it is likely to succeed- Since:
- 1.4
- See Also:
-
requestFocusInWindow
Requests by the reason ofcause
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. Iftrue
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 oftrue
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.The focus request effect may also depend on the provided cause value. If this request is succeed the
FocusEvent
generated in the result will receive the cause value specified as the argument of the method.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(FocusEvent.Cause)
when possible. Code which relies onrequestFocus(FocusEvent.Cause)
may exhibit different focus behavior on different platforms.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 ofComponent
being invoked.- Parameters:
cause
- the cause why the focus is requested- Returns:
false
if the focus change request is guaranteed to fail;true
if it is likely to succeed- Since:
- 9
- See Also:
-
requestFocusInWindow
protected boolean requestFocusInWindow(boolean temporary) Requests that thisComponent
get the input focus, if thisComponent
's top-level ancestor is already the focusedWindow
. 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. Iftrue
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 oftrue
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 onrequestFocus
may exhibit different focus behavior on different platforms.Every effort will be made to ensure that
FocusEvent
s 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 ofComponent
being invoked.- Parameters:
temporary
- true if the focus change is temporary, such as when the window loses the focus; for more information on temporary focus changes see the Focus Specification- Returns:
false
if the focus change request is guaranteed to fail;true
if it is likely to succeed- Since:
- 1.4
- See Also:
-
getFocusCycleRootAncestor
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.- Returns:
- this Component's nearest focus-cycle-root ancestor
- Since:
- 1.4
- See Also:
-
isFocusCycleRoot
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- Returns:
true
if the specified Container is a focus-cycle- root of this Component;false
otherwise- Since:
- 1.4
- See Also:
-
transferFocus
public void transferFocus()Transfers the focus to the next component, as though this Component were the focus owner.- Since:
- 1.1
- See Also:
-
nextFocus
Deprecated.As of JDK version 1.1, replaced by transferFocus(). -
transferFocusBackward
public void transferFocusBackward()Transfers the focus to the previous component, as though this Component were the focus owner.- Since:
- 1.4
- See Also:
-
transferFocusUpCycle
public void transferFocusUpCycle()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.- Since:
- 1.4
- See Also:
-
hasFocus
public boolean hasFocus()Returnstrue
if thisComponent
is the focus owner. This method is obsolete, and has been replaced byisFocusOwner()
.- Returns:
true
if thisComponent
is the focus owner;false
otherwise- Since:
- 1.2
-
isFocusOwner
public boolean isFocusOwner()Returnstrue
if thisComponent
is the focus owner.- Returns:
true
if thisComponent
is the focus owner;false
otherwise- Since:
- 1.4
-
add
Adds the specified popup menu to the component.- Parameters:
popup
- the popup menu to be added to the component.- Throws:
NullPointerException
- ifpopup
isnull
- Since:
- 1.1
- See Also:
-
remove
Removes the specified popup menu from the component.- Specified by:
remove
in interfaceMenuContainer
- Parameters:
popup
- the popup menu to be removed- Since:
- 1.1
- See Also:
-
paramString
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 benull
.- Returns:
- a string representation of this component's state
- Since:
- 1.0
-
toString
-
list
public void list()Prints a listing of this component to the standard system output streamSystem.out
.- Since:
- 1.0
- See Also:
-
list
Prints a listing of this component to the specified output stream.- Parameters:
out
- a print stream- Throws:
NullPointerException
- ifout
isnull
- Since:
- 1.0
-
list
Prints out a list, starting at the specified indentation, to the specified print stream.- Parameters:
out
- a print streamindent
- number of spaces to indent- Throws:
NullPointerException
- ifout
isnull
- Since:
- 1.0
- See Also:
-
list
Prints a listing to the specified print writer.- Parameters:
out
- the print writer to print to- Throws:
NullPointerException
- ifout
isnull
- Since:
- 1.1
-
list
Prints out a list, starting at the specified indentation, to the specified print writer.- Parameters:
out
- the print writer to print toindent
- the number of spaces to indent- Throws:
NullPointerException
- ifout
isnull
- Since:
- 1.1
- See Also:
-
addPropertyChangeListener
Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class, including the following:- this Component's font ("font")
- this Component's background color ("background")
- this Component's foreground color ("foreground")
- this Component's focusability ("focusable")
- this Component's focus traversal keys enabled state ("focusTraversalKeysEnabled")
- this Component's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
- this Component's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
- this Component's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
- this Component's preferred size ("preferredSize")
- this Component's minimum size ("minimumSize")
- this Component's maximum size ("maximumSize")
- this Component's name ("name")
Component
is inheriting a bound property, then no event will be fired in response to a change in the inherited property.If
listener
isnull
, no exception is thrown and no action is performed.- Parameters:
listener
- the property change listener to be added- See Also:
-
removePropertyChangeListener
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.If listener is null, no exception is thrown and no action is performed.
- Parameters:
listener
- the PropertyChangeListener to be removed- See Also:
-
getPropertyChangeListeners
Returns an array of all the property change listeners registered on this component.- Returns:
- all of this component's
PropertyChangeListener
s or an empty array if no property change listeners are currently registered - Since:
- 1.4
- See Also:
-
addPropertyChangeListener
Adds a PropertyChangeListener to the listener list for a specific property. The specified property may be user-defined, or one of the following:- this Component's font ("font")
- this Component's background color ("background")
- this Component's foreground color ("foreground")
- this Component's focusability ("focusable")
- this Component's focus traversal keys enabled state ("focusTraversalKeysEnabled")
- this Component's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
- this Component's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
- this Component's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
Component
is inheriting a bound property, then no event will be fired in response to a change in the inherited property.If
propertyName
orlistener
isnull
, no exception is thrown and no action is taken.- Parameters:
propertyName
- one of the property names listed abovelistener
- the property change listener to be added- See Also:
-
removePropertyChangeListener
Removes aPropertyChangeListener
from the listener list for a specific property. This method should be used to removePropertyChangeListener
s that were registered for a specific bound property.If
propertyName
orlistener
isnull
, no exception is thrown and no action is taken.- Parameters:
propertyName
- a valid property namelistener
- the PropertyChangeListener to be removed- See Also:
-
getPropertyChangeListeners
Returns an array of all the listeners which have been associated with the named property.- Parameters:
propertyName
- the property name- Returns:
- all of the
PropertyChangeListener
s associated with the named property; if no such listeners have been added or ifpropertyName
isnull
, an empty array is returned - Since:
- 1.4
- See Also:
-
firePropertyChange
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 changedoldValue
- the property's previous valuenewValue
- the property's new value
-
firePropertyChange
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 changedoldValue
- the property's previous valuenewValue
- the property's new value- Since:
- 1.4
-
firePropertyChange
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 changedoldValue
- the property's previous valuenewValue
- the property's new value- Since:
- 1.4
-
firePropertyChange
Reports a bound property change.- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the property (as a byte)newValue
- the new value of the property (as a byte)- Since:
- 1.5
- See Also:
-
firePropertyChange
Reports a bound property change.- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the property (as a char)newValue
- the new value of the property (as a char)- Since:
- 1.5
- See Also:
-
firePropertyChange
Reports a bound property change.- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the property (as a short)newValue
- the new value of the property (as a short)- Since:
- 1.5
- See Also:
-
firePropertyChange
Reports a bound property change.- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the property (as a long)newValue
- the new value of the property (as a long)- Since:
- 1.5
- See Also:
-
firePropertyChange
Reports a bound property change.- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the property (as a float)newValue
- the new value of the property (as a float)- Since:
- 1.5
- See Also:
-
firePropertyChange
Reports a bound property change.- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the property (as a double)newValue
- the new value of the property (as a double)- Since:
- 1.5
- See Also:
-
setComponentOrientation
Sets the language-sensitive orientation that is to be used to order the elements or text within this component. Language-sensitiveLayoutManager
andComponent
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 asComponentOrientation.LEFT_TO_RIGHT
.To set the orientation of a single component, use this method. To set the orientation of an entire component hierarchy, use
applyComponentOrientation
.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
o
- the orientation to be set- See Also:
-
getComponentOrientation
Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.LayoutManager
andComponent
subclasses that wish to respect orientation should call this method to get the component's orientation before performing layout or drawing.- Returns:
- the orientation to order the elements or text
- See Also:
-
applyComponentOrientation
Sets theComponentOrientation
property of this component and all components contained within it.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Parameters:
orientation
- the new component orientation of this component and the components contained within it.- Throws:
NullPointerException
- iforientation
is null.- Since:
- 1.4
- See Also:
-
getAccessibleContext
Gets theAccessibleContext
associated with thisComponent
. The method implemented by this base class returns null. Classes that extendComponent
should implement this method to return theAccessibleContext
associated with the subclass.- Returns:
- the
AccessibleContext
of thisComponent
- Since:
- 1.3
-
setMixingCutoutShape
Sets a 'mixing-cutout' shape for this lightweight component. This method is used exclusively for the purposes of the Heavyweight/Lightweight Components Mixing feature and will have no effect if applied to a heavyweight component. By default a lightweight component is treated as an opaque rectangle for the purposes of the Heavyweight/Lightweight Components Mixing feature. This method enables developers to set an arbitrary shape to be cut out from heavyweight components positioned underneath the lightweight component in the z-order.The
shape
argument may have the following values:null
- reverts the default cutout shape (the rectangle equal to the component'sgetBounds()
)- empty-shape - does not cut out anything from heavyweight
components. This makes this lightweight component effectively
transparent. Note that descendants of the lightweight component still
affect the shapes of heavyweight components. An example of an
empty-shape is
new Rectangle()
. - non-empty-shape - the given shape will be cut out from heavyweight components.
The most common example when the 'mixing-cutout' shape is needed is a glass pane component. The
JRootPane.setGlassPane(java.awt.Component)
method automatically sets the empty-shape as the 'mixing-cutout' shape for the given glass pane component. If a developer needs some other 'mixing-cutout' shape for the glass pane (which is rare), this must be changed manually after installing the glass pane to the root pane.- Parameters:
shape
- the new 'mixing-cutout' shape- Since:
- 9
-