java.awt.peer

Interface ComponentPeer

public interface ComponentPeer

Defines the methods that a component peer is required to implement.
Method Summary
booleancanDetermineObscurity()
Returns true if this component peer can determine if the component has been obscured, false otherwise.
intcheckImage(Image img, int width, int height, ImageObserver ob)
Returns the construction status of the specified image.
voidcoalescePaintEvent(PaintEvent e)
Coalesces the specified paint event.
voidcreateBuffers(int numBuffers, BufferCapabilities caps)
Create a number of image buffers that implement a buffering strategy according to the given capabilities.
ImagecreateImage(ImageProducer prod)
Creates an image by starting the specified image producer.
ImagecreateImage(int width, int height)
Creates an empty image with the specified width and height.
VolatileImagecreateVolatileImage(int width, int height)
A convenience method that creates a volatile image.
voiddestroyBuffers()
Destroy the resources created by createBuffers.
voiddisable()
Disables the component.
voiddispose()
Disposes the component peer.
voidenable()
Enables the component.
voidflip(BufferCapabilities.FlipContents contents)
Perform a page flip, leaving the contents of the back buffer in the specified state.
ImagegetBackBuffer()
Return the back buffer of this component.
RectanglegetBounds()
Get the bounds of this component peer.
ColorModelgetColorModel()
Returns the color model of the component.
FontMetricsgetFontMetrics(Font f)
Returns the font metrics for the specified font.
GraphicsgetGraphics()
Returns a {@link Graphics} object suitable for drawing on this component.
GraphicsConfigurationgetGraphicsConfiguration()
Get the graphics configuration of the component.
PointgetLocationOnScreen()
Returns the location of this component in screen coordinates.
DimensiongetMinimumSize()
Returns the minimum size for the component.
DimensiongetPreferredSize()
Returns the preferred size for the component.
ToolkitgetToolkit()
Returns the toolkit that created this peer.
voidhandleEvent(AWTEvent e)
Handles the given event.
booleanhandlesWheelScrolling()
Returns true, if this component can handle wheel scrolling, false otherwise.
voidhide()
Makes the component invisible.
booleanisFocusable()
Returns true if the component can receive keyboard input focus.
booleanisFocusTraversable()
Returns true if the component can receive keyboard input focus.
booleanisObscured()
Returns true if this component has been obscured, false otherwise.
booleanisReparentSupported()
Check if this component supports being reparented.
voidlayout()
Layout this component peer.
DimensionminimumSize()
Returns the minimum size for the component.
voidpaint(Graphics graphics)
DimensionpreferredSize()
Returns the preferred size for the component.
booleanprepareImage(Image img, int width, int height, ImageObserver ob)
Prepares an image for rendering on this component.
voidprint(Graphics graphics)
voidrepaint(long tm, int x, int y, int width, int height)
Repaints the specified rectangle of this component.
voidreparent(ContainerPeer parent)
Reparent this component under another container.
voidrequestFocus()
Requests that this component receives the focus.
booleanrequestFocus(Component request, boolean temporary, boolean allowWindowFocus, long time)
Requests that this component receives the focus.
voidreshape(int x, int y, int width, int height)
Notifies the peer that the bounds of this component have changed.
voidsetBackground(Color color)
Sets the background color of the component.
voidsetBounds(int x, int y, int width, int height)
Notifies the peer that the bounds of this component have changed.
voidsetBounds(int x, int y, int width, int height, int z)
Set the bounds of this component peer.
voidsetCursor(Cursor cursor)
Sets the cursor of the component.
voidsetEnabled(boolean enabled)
Sets the enabled/disabled state of this component.
voidsetEventMask(long mask)
Part of an older API, no longer needed.
voidsetFont(Font font)
Sets the font of the component.
voidsetForeground(Color color)
Sets the foreground color of the component.
voidsetVisible(boolean visible)
Sets the visibility state of the component.
voidshow()
Makes the component visible.
voidupdateCursorImmediately()
Updates the cursor.

Method Detail

canDetermineObscurity

public boolean canDetermineObscurity()
Returns true if this component peer can determine if the component has been obscured, false otherwise.

Returns: true if this component peer can determine if the component has been obscured, false otherwise

checkImage

public int checkImage(Image img, int width, int height, ImageObserver ob)
Returns the construction status of the specified image. This is called by {@link Component#checkImage(Image, int, int, ImageObserver)}.

Parameters: img the image width the width of the image height the height of the image ob the image observer to be notified of updates of the status

Returns: a bitwise ORed set of ImageObserver flags

coalescePaintEvent

public void coalescePaintEvent(PaintEvent e)
Coalesces the specified paint event.

Parameters: e the paint event

createBuffers

public void createBuffers(int numBuffers, BufferCapabilities caps)
Create a number of image buffers that implement a buffering strategy according to the given capabilities.

Parameters: numBuffers the number of buffers caps the buffering capabilities

Throws: AWTException if the specified buffering strategy is not implemented

Since: 1.2

createImage

public Image createImage(ImageProducer prod)
Creates an image by starting the specified image producer. This is called by {@link Component#createImage(ImageProducer)}.

Parameters: prod the image producer to be used to create the image

Returns: the created image

createImage

public Image createImage(int width, int height)
Creates an empty image with the specified width and height.

Parameters: width the width of the image to be created height the height of the image to be created

Returns: the created image

createVolatileImage

public VolatileImage createVolatileImage(int width, int height)
A convenience method that creates a volatile image. The volatile image is created on the screen device on which this component is displayed, in the device's current graphics configuration.

Parameters: width width of the image height height of the image

Since: 1.2

See Also:

destroyBuffers

public void destroyBuffers()
Destroy the resources created by createBuffers.

Since: 1.2

disable

public void disable()
Disables the component. This is called by {@link Component#disable()}.

dispose

public void dispose()
Disposes the component peer. This should release all resources held by the peer. This is called when the component is no longer in use.

enable

public void enable()
Enables the component. This is called by {@link Component#enable()}.

flip

public void flip(BufferCapabilities.FlipContents contents)
Perform a page flip, leaving the contents of the back buffer in the specified state.

Parameters: contents the state in which to leave the back buffer

Since: 1.2

getBackBuffer

public Image getBackBuffer()
Return the back buffer of this component.

Returns: the back buffer of this component.

Since: 1.2

getBounds

public Rectangle getBounds()
Get the bounds of this component peer.

Returns: component peer bounds

Since: 1.5

getColorModel

public ColorModel getColorModel()
Returns the color model of the component. This is currently not used.

Returns: the color model of the component

getFontMetrics

public FontMetrics getFontMetrics(Font f)
Returns the font metrics for the specified font. This is called by {@link Component#getFontMetrics(Font)}.

Parameters: f the font for which to query the font metrics

Returns: the font metrics for the specified font

getGraphics

public Graphics getGraphics()
Returns a {@link Graphics} object suitable for drawing on this component. This is called by {@link Component#getGraphics()}.

Returns: a graphics object suitable for drawing on this component

getGraphicsConfiguration

public GraphicsConfiguration getGraphicsConfiguration()
Get the graphics configuration of the component. The color model of the component can be derived from the configuration.

Returns: the graphics configuration of the component

getLocationOnScreen

public Point getLocationOnScreen()
Returns the location of this component in screen coordinates. This is called by {@link Component#getLocationOnScreen()}.

Returns: the location of this component in screen coordinates

getMinimumSize

public Dimension getMinimumSize()
Returns the minimum size for the component. This is called by {@link Component#getMinimumSize()}.

Returns: the minimum size for the component

UNKNOWN: Presumably this method got added to replace minimumSize(). However, testing shows that this is never called in the RI (tested with JDK5), but instead minimumSize() is called directly. It is advisable to implement this method to delegate to minimumSize() and put the real implementation in there.

getPreferredSize

public Dimension getPreferredSize()
Returns the preferred size for the component. This is called by {@link Component#getPreferredSize()}.

Returns: the preferred size for the component

UNKNOWN: Presumably this method got added to replace preferredSize(). However, testing shows that this is never called in the RI (tested with JDK5), but instead preferredSize() is called directly. It is advisable to implement this method to delegate to preferredSize() and put the real implementation in there.

getToolkit

public Toolkit getToolkit()
Returns the toolkit that created this peer.

Returns: the toolkit that created this peer

handleEvent

public void handleEvent(AWTEvent e)
Handles the given event. This is called from {@link Component#dispatchEvent(AWTEvent)} to give the peer a chance to react to events for the component.

Parameters: e the event

handlesWheelScrolling

public boolean handlesWheelScrolling()
Returns true, if this component can handle wheel scrolling, false otherwise.

Returns: true, if this component can handle wheel scrolling, false otherwise

hide

public void hide()
Makes the component invisible. This is called from {@link Component#hide()}.

isFocusable

public boolean isFocusable()
Returns true if the component can receive keyboard input focus. This is called from {@link Component#isFocusable()}.

isFocusTraversable

public boolean isFocusTraversable()
Returns true if the component can receive keyboard input focus. This is called from {@link Component#isFocusTraversable()}.

UNKNOWN: Part of the earlier 1.1 API, replaced by isFocusable().

isObscured

public boolean isObscured()
Returns true if this component has been obscured, false otherwise. This will only work if {@link #canDetermineObscurity()} also returns true.

Returns: true if this component has been obscured, false otherwise.

isReparentSupported

public boolean isReparentSupported()
Check if this component supports being reparented.

Returns: true if this component can be reparented, false otherwise.

Since: 1.5

layout

public void layout()
Layout this component peer.

Since: 1.5

minimumSize

public Dimension minimumSize()
Returns the minimum size for the component. This is called by {@link Component#minimumSize()}.

Returns: the minimum size for the component

paint

public void paint(Graphics graphics)

preferredSize

public Dimension preferredSize()
Returns the preferred size for the component. This is called by {@link Component#getPreferredSize()}.

Returns: the preferred size for the component

prepareImage

public boolean prepareImage(Image img, int width, int height, ImageObserver ob)
Prepares an image for rendering on this component. This is called by {@link Component#prepareImage(Image, int, int, ImageObserver)}.

Parameters: img the image to prepare width the desired width of the rendered image height the desired height of the rendered image ob the image observer to be notified of updates in the preparation process

Returns: true if the image has been fully prepared, false otherwise (in which case the image observer receives updates)

print

public void print(Graphics graphics)

repaint

public void repaint(long tm, int x, int y, int width, int height)
Repaints the specified rectangle of this component. This is called from {@link Component#repaint(long, int, int, int, int)}.

Parameters: tm number of milliseconds to wait with repainting x the X coordinate of the upper left corner of the damaged rectangle y the Y coordinate of the upper left corner of the damaged rectangle width the width of the damaged rectangle height the height of the damaged rectangle

reparent

public void reparent(ContainerPeer parent)
Reparent this component under another container.

Parameters: parent

Since: 1.5

requestFocus

public void requestFocus()
Requests that this component receives the focus. This is called from {@link Component#requestFocus()}.

UNKNOWN: Part of the earlier 1.1 API, apparently replaced by argument form of the same method.

requestFocus

public boolean requestFocus(Component request, boolean temporary, boolean allowWindowFocus, long time)
Requests that this component receives the focus. This is called from {@link Component#requestFocus()}. This method is only called for heavyweight component's peers. Lightweight components ask their nearest heavyweight component to request focus. It's up to the heavyweight peer to decide if any of it's lightweight descendants are allowed to receive keyboard input focus or not. If the focus request is finally approved, then the peer must post a FOCUS_GAINED event for the requested component.

Parameters: request the component for which the focus is requested temporary indicates if the focus change is temporary (true) or permanent (false) allowWindowFocus indicates if it's allowed to change window focus time the timestamp

reshape

public void reshape(int x, int y, int width, int height)
Notifies the peer that the bounds of this component have changed. This is called by {@link Component#reshape(int, int, int, int)}.

Parameters: x the X coordinate of the upper left corner of the component y the Y coordinate of the upper left corner of the component width the width of the component height the height of the component

setBackground

public void setBackground(Color color)
Sets the background color of the component. This is called by {@link Component#setBackground(Color)}.

Parameters: color the background color to set

setBounds

public void setBounds(int x, int y, int width, int height)
Notifies the peer that the bounds of this component have changed. This is called by {@link Component#setBounds(int, int, int, int)}.

Parameters: x the X coordinate of the upper left corner of the component y the Y coordinate of the upper left corner of the component width the width of the component height the height of the component

setBounds

public void setBounds(int x, int y, int width, int height, int z)
Set the bounds of this component peer.

Parameters: x the new x co-ordinate y the new y co-ordinate width the new width height the new height z the new stacking level

Since: 1.5

setCursor

public void setCursor(Cursor cursor)
Sets the cursor of the component. This is called by {@link Component#setCursor(Cursor)}.

UNKNOWN: Part of the earlier 1.1 API, apparently no longer needed.

setEnabled

public void setEnabled(boolean enabled)
Sets the enabled/disabled state of this component. This is called by {@link Component#setEnabled(boolean)}.

Parameters: enabled true to enable the component, false to disable it

setEventMask

public void setEventMask(long mask)
Part of an older API, no longer needed.

setFont

public void setFont(Font font)
Sets the font of the component. This is called by {@link Component#setFont(Font)}.

Parameters: font the font to set

setForeground

public void setForeground(Color color)
Sets the foreground color of the component. This is called by {@link Component#setForeground(Color)}.

Parameters: color the foreground color to set

setVisible

public void setVisible(boolean visible)
Sets the visibility state of the component. This is called by {@link Component#setVisible(boolean)}.

Parameters: visible true to make the component visible, false to make it invisible

show

public void show()
Makes the component visible. This is called by {@link Component#show()}.

updateCursorImmediately

public void updateCursorImmediately()
Updates the cursor.