public abstract class GraphicsConfiguration extends Object
GraphicsConfiguration
class describes the
characteristics of a graphics destination such as a printer or monitor.
There can be many GraphicsConfiguration
objects associated
with a single graphics device, representing different drawing modes or
capabilities. The corresponding native structure will vary from platform
to platform. For example, on X11 windowing systems,
each visual is a different GraphicsConfiguration
.
On Microsoft Windows, GraphicsConfiguration
s represent
PixelFormats available in the current resolution and color depth.
In a virtual device multi-screen environment in which the desktop
area could span multiple physical screen devices, the bounds of the
GraphicsConfiguration
objects are relative to the
virtual coordinate system. When setting the location of a
component, use getBounds
to get the bounds of
the desired GraphicsConfiguration
and offset the location
with the coordinates of the GraphicsConfiguration
,
as the following code sample illustrates:
Frame f = new Frame(gc); // where gc is a GraphicsConfiguration Rectangle bounds = gc.getBounds(); f.setLocation(10 + bounds.x, 10 + bounds.y);
To determine if your environment is a virtual device
environment, call getBounds
on all of the
GraphicsConfiguration
objects in your system. If
any of the origins of the returned bounds is not (0, 0),
your environment is a virtual device environment.
You can also use getBounds
to determine the bounds
of the virtual device. To do this, first call getBounds
on all
of the GraphicsConfiguration
objects in your
system. Then calculate the union of all of the bounds returned
from the calls to getBounds
. The union is the
bounds of the virtual device. The following code sample
calculates the bounds of the virtual device.
Rectangle virtualBounds = new Rectangle(); GraphicsEnvironment ge = GraphicsEnvironment. getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices(); for (int j = 0; j < gs.length; j++) { GraphicsDevice gd = gs[j]; GraphicsConfiguration[] gc = gd.getConfigurations(); for (int i=0; i < gc.length; i++) { virtualBounds = virtualBounds.union(gc[i].getBounds()); } }
Window
,
Frame
,
GraphicsEnvironment
,
GraphicsDevice
Modifier | Constructor and Description |
---|---|
protected |
GraphicsConfiguration()
This is an abstract class that cannot be instantiated directly.
|
Modifier and Type | Method and Description |
---|---|
abstract BufferedImage |
createCompatibleImage(int width,
int height)
Returns a
BufferedImage with a data layout and color model
compatible with this GraphicsConfiguration . |
abstract VolatileImage |
createCompatibleVolatileImage(int width,
int height)
Returns a
VolatileImage with a data layout and color model
compatible with this GraphicsConfiguration . |
VolatileImage |
createCompatibleVolatileImage(int width,
int height,
ImageCapabilities caps)
Returns a
VolatileImage with a data layout and color model
compatible with this GraphicsConfiguration , using
the specified image capabilities. |
abstract Rectangle |
getBounds()
Returns the bounds of the
GraphicsConfiguration
in the device coordinates. |
abstract ColorModel |
getColorModel()
Returns the
ColorModel associated with this
GraphicsConfiguration . |
abstract GraphicsDevice |
getDevice()
Returns the
GraphicsDevice associated with this
GraphicsConfiguration . |
ImageCapabilities |
getImageCapabilities()
Returns the image capabilities of this
GraphicsConfiguration . |
protected GraphicsConfiguration()
public abstract GraphicsDevice getDevice()
GraphicsDevice
associated with this
GraphicsConfiguration
.GraphicsDevice
object that is
associated with this GraphicsConfiguration
.public abstract BufferedImage createCompatibleImage(int width, int height)
BufferedImage
with a data layout and color model
compatible with this GraphicsConfiguration
. This
method has nothing to do with memory-mapping
a device. The returned BufferedImage
has
a layout and color model that is closest to this native device
configuration and can therefore be optimally blitted to this
device.width
- the width of the returned BufferedImage
height
- the height of the returned BufferedImage
BufferedImage
whose data layout and color
model is compatible with this GraphicsConfiguration
.public abstract VolatileImage createCompatibleVolatileImage(int width, int height)
VolatileImage
with a data layout and color model
compatible with this GraphicsConfiguration
.
The returned VolatileImage
may have data that is stored optimally for the underlying graphics
device and may therefore benefit from platform-specific rendering
acceleration.width
- the width of the returned VolatileImage
height
- the height of the returned VolatileImage
VolatileImage
whose data layout and color
model is compatible with this GraphicsConfiguration
.Component.createVolatileImage(int, int)
public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException
VolatileImage
with a data layout and color model
compatible with this GraphicsConfiguration
, using
the specified image capabilities.
The returned VolatileImage
has
a layout and color model that is closest to this native device
configuration and can therefore be optimally blitted to this
device.width
- the width of the returned VolatileImage
height
- the height of the returned VolatileImage
caps
- the image capabilitiesVolatileImage
whose data layout and color
model is compatible with this GraphicsConfiguration
.AWTException
- if the supplied image capabilities could not
be met by this graphics configurationpublic abstract ColorModel getColorModel()
ColorModel
associated with this
GraphicsConfiguration
.ColorModel
object that is associated with
this GraphicsConfiguration
.public abstract Rectangle getBounds()
GraphicsConfiguration
in the device coordinates. In a multi-screen environment
with a virtual device, the bounds can have negative X
or Y origins.GraphicsConfiguration
.public ImageCapabilities getImageCapabilities()
GraphicsConfiguration
.Copyright © 2012 CableLabs. All Rights Reserved.