|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.GraphicsConfiguration
The 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 win32, 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(GraphicsConfiguration gc); 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 are not (0, 0),
your environment is a virtual device environment.
You can also use getBounds
to determine the bounds
of the virtual device. 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
Constructor Summary | |
protected |
GraphicsConfiguration()
This is an abstract class that cannot be instantiated directly. |
Method Summary | |
abstract BufferedImage |
createCompatibleImage(int width,
int height)
Returns a BufferedImage with a data layout and color model
compatible with this GraphicsConfiguration . |
abstract BufferedImage |
createCompatibleImage(int width,
int height,
int transparency)
Returns a BufferedImage that supports the specified
transparency and has a data layout and color model
compatible with this GraphicsConfiguration . |
abstract Rectangle |
getBounds()
Returns the bounds of the GraphicsConfiguration
in the device coordinates. |
abstract ColorModel |
getColorModel()
Returns the ColorModel associated with this
GraphicsConfiguration . |
abstract ColorModel |
getColorModel(int transparency)
Returns the ColorModel associated with this
GraphicsConfiguration that supports the specified
transparency. |
abstract AffineTransform |
getDefaultTransform()
Returns the default AffineTransform for this
GraphicsConfiguration . |
abstract GraphicsDevice |
getDevice()
Returns the GraphicsDevice associated with this
GraphicsConfiguration . |
abstract AffineTransform |
getNormalizingTransform()
Returns a AffineTransform that can be concatenated
with the default AffineTransform
of a GraphicsConfiguration so that 72 units in user
space equals 1 inch in device space. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected GraphicsConfiguration()
GraphicsDevice.getConfigurations()
,
GraphicsDevice.getDefaultConfiguration()
,
GraphicsDevice.getBestConfiguration(java.awt.GraphicsConfigTemplate)
,
Graphics2D.getDeviceConfiguration()
Method Detail |
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 BufferedImage createCompatibleImage(int width, int height, int transparency)
BufferedImage
that supports the specified
transparency and has 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 can be optimally blitted to a device
with this GraphicsConfiguration
.width
- the width of the returned BufferedImage
height
- the height of the returned BufferedImage
transparency
- the specified transparency modeBufferedImage
whose data layout and color
model is compatible with this GraphicsConfiguration
and also supports the specified transparency.Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
public abstract ColorModel getColorModel()
ColorModel
associated with this
GraphicsConfiguration
.ColorModel
object that is associated with
this GraphicsConfiguration
.public abstract ColorModel getColorModel(int transparency)
ColorModel
associated with this
GraphicsConfiguration
that supports the specified
transparency.transparency
- the specified transparency modeColorModel
object that is associated with
this GraphicsConfiguration
and supports the
specified transparency.public abstract AffineTransform getDefaultTransform()
AffineTransform
for this
GraphicsConfiguration
. This
AffineTransform
is typically the Identity transform
for most normal screens. The default AffineTransform
maps coordinates onto the device such that 72 user space
coordinate units measure approximately 1 inch in device
space. The normalizing transform can be used to make
this mapping more exact. Coordinates in the coordinate space
defined by the default AffineTransform
for screen and
printer devices have the origin in the upper left-hand corner of
the target region of the device, with X coordinates
increasing to the right and Y coordinates increasing downwards.
For image buffers not associated with a device, such as those not
created by createCompatibleImage
,
this AffineTransform
is the Identity transform.AffineTransform
for this
GraphicsConfiguration
.public abstract AffineTransform getNormalizingTransform()
AffineTransform
that can be concatenated
with the default AffineTransform
of a GraphicsConfiguration
so that 72 units in user
space equals 1 inch in device space.
For a particular Graphics2D
, g, one
can reset the transformation to create
such a mapping by using the following pseudocode:
GraphicsConfiguration gc = g.getGraphicsConfiguration(); g.setTransform(gc.getDefaultTransform()); g.transform(gc.getNormalizingTransform());Note that sometimes this
AffineTransform
is identity,
such as for printers or metafile output, and that this
AffineTransform
is only as accurate as the information
supplied by the underlying system. For image buffers not
associated with a device, such as those not created by
createCompatibleImage
, this
AffineTransform
is the Identity transform
since there is no valid distance measurement.AffineTransform
to concatenate to the
default AffineTransform
so that 72 units in user
space is mapped to 1 inch in device space.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
.
|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Oracle and/or its affiliates, in the US and other countries.
Copyright © 1995, 2010 Oracle and/or its affiliates. All rights reserved.