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,
GraphicsConfigurations 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 |
|---|---|
BufferedImage |
createCompatibleImage(int width, int height)
Returns a
BufferedImage with a data layout and color model compatible with this
GraphicsConfiguration.
|
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.
|
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
Returns a
VolatileImage with a data layout and color model compatible with this
GraphicsConfiguration, using the specified image capabilities.
|
VolatileImage |
createCompatibleVolatileImage(int width, int height, ImageCapabilities
Returns a
VolatileImage with a data layout and color model compatible with this
GraphicsConfiguration, using the specified image capabilities and transparency value.
|
VolatileImage |
createCompatibleVolatileImage(int width, int height, int transparency)
Returns a
VolatileImage with a data layout and color model compatible with this
GraphicsConfiguration.
|
abstract Rectangle |
getBounds()
Returns the bounds of the
GraphicsConfiguration in the device coordinates.
|
BufferCapabilities |
getBufferCapabilities()
Returns the buffering capabilities of this
GraphicsConfiguration.
|
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.
|
ImageCapabilities |
getImageCapabilities()
Returns the image capabilities of 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.
|
boolean |
isTranslucencyCapable()
Returns whether this
GraphicsConfiguration supports the
PERPIXEL_TRANSLUCENT kind of translucency.
|
protected GraphicsConfiguration()
public abstract GraphicsDevicegetDevice()
GraphicsDevice associated with this
GraphicsConfiguration.
GraphicsDevice object that is associated with this
GraphicsConfiguration.
public BufferedImagecreateCompatibleImage(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 BufferedImagecreateCompatibleImage(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 mode
BufferedImage whose data layout and color model is compatible with this
GraphicsConfiguration and also supports the specified transparency.
IllegalArgumentException - if the transparency is not a valid value
Transparency.OPAQUE ,
Transparency.BITMASK ,
Transparency.TRANSLUCENT
public VolatileImagecreateCompatibleVolatileImage(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 VolatileImagecreateCompatibleVolatileImage(int width, int height, int transparency)
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
transparency - the specified transparency mode
VolatileImage whose data layout and color model is compatible with this
GraphicsConfiguration.
IllegalArgumentException - if the transparency is not a valid value
Transparency.OPAQUE ,
Transparency.BITMASK ,
Transparency.TRANSLUCENT ,
Component.createVolatileImage(int, int)
public VolatileImagecreateCompatibleVolatileImage(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. If the
caps parameter is null, it is effectively ignored and this method will create a VolatileImage without regard to
ImageCapabilities constraints. 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 capabilities
VolatileImage whose data layout and color model is compatible with this
GraphicsConfiguration.
AWTException - if the supplied image capabilities could not be met by this graphics configuration
public VolatileImagecreateCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) throws AWTException
VolatileImage with a data layout and color model compatible with this
GraphicsConfiguration, using the specified image capabilities and transparency value. If the
caps parameter is null, it is effectively ignored and this method will create a VolatileImage without regard to
ImageCapabilities constraints. 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 capabilities
transparency - the specified transparency mode
VolatileImage whose data layout and color model is compatible with this
GraphicsConfiguration.
IllegalArgumentException - if the transparency is not a valid value
AWTException - if the supplied image capabilities could not be met by this graphics configuration
Transparency.OPAQUE ,
Transparency.BITMASK ,
Transparency.TRANSLUCENT ,
Component.createVolatileImage(int, int)
public abstract ColorModelgetColorModel()
ColorModel associated with this
GraphicsConfiguration.
ColorModel object that is associated with this
GraphicsConfiguration.
public abstract ColorModelgetColorModel(int transparency)
ColorModel associated with this
GraphicsConfiguration that supports the specified transparency.
transparency - the specified transparency mode
ColorModel object that is associated with this
GraphicsConfiguration and supports the specified transparency or null if the transparency is not a valid value.
Transparency.OPAQUE ,
Transparency.BITMASK ,
Transparency.TRANSLUCENT
public abstract AffineTransformgetDefaultTransform()
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 AffineTransformgetNormalizingTransform()
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.getDeviceConfiguration();
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 RectanglegetBounds()
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 BufferCapabilitiesgetBufferCapabilities()
GraphicsConfiguration.
public ImageCapabilitiesgetImageCapabilities()
GraphicsConfiguration.
public boolean isTranslucencyCapable()
GraphicsConfiguration supports the
PERPIXEL_TRANSLUCENT kind of translucency.
Window.setBackground(Color)