is new.
java.lang.Objectjava.awt.GraphicsConfiguration
public abstract class 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 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());
}
}
| 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. |
|
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. |
|
createCompatibleVolatileImage
(int width, int height) Returns a VolatileImage |
| 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. |
| VolatileImage |
createCompatibleVolatileImage
(int width, int height,
ImageCapabilities
caps, int transparency) Returns a VolatileImage with a data layout and color model compatible with this GraphicsConfiguration, using the specified image capabilities and transparency value. |
|
createCompatibleVolatileImage
(int width, int height, int transparency) Returns a VolatileImage |
| 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. |
| Methods inherited from class java.lang. Object |
|---|
| clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| Constructor Detail |
|---|
protected GraphicsConfiguration()
| Method Detail |
|---|
public abstract GraphicsDevice getDevice()
public abstract BufferedImage createCompatibleImage(int width,
int height)
createCompatibleImage
public
BufferedImage
public abstractVolatileImagecreateCompatibleImage
createCompatibleVolatileImage(int width, int height, int transparency)
(int width, int height)
Returns a 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.
BufferedImage
BufferedImage
transparency - the specified transparency mode
BufferedImage
GraphicsConfiguration and also supports the specified transparency.
Throws:
IllegalArgumentException
- if the transparency is not a valid value
Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
publicabstractVolatileImagecreateCompatibleVolatileImage(int width, int height)
(int width, int height, int transparency)
1.4
Component.createVolatileImage(int, int)
public VolatileImagecreateCompatibleVolatileImage(int width, int height, int transparency)
(int width, int height,ImageCapabilitiescaps) throwsAWTException
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.
transparency - the specified transparency mode
IllegalArgumentException
- if the transparency is not a valid value
1.5
See Also:
Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
,
Component.createVolatileImage(int, int)
public VolatileImagecreateCompatibleVolatileImage(int width,
int height,
ImageCapabilities
caps)

caps,
int transparency)
throws AWTException
capabilities. If the caps parameter is null, it is effectively ignored
this method will create a VolatileImage without regard to ImageCapabilities constraints.
1.4
createCompatibleVolatileImage
public
VolatileImage
public abstractBufferedImagecreateCompatibleVolatileImage
createCompatibleImage(int width, int height,ImageCapabilities
caps, int transparency)
throws
AWTException
Returns a
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.
VolatileImage
VolatileImage
caps - the image capabilities
VolatileImage
GraphicsConfiguration.
AWTException
- if the supplied image capabilities could not be met by this graphics configuration
Since:
1.5
,
Component.createVolatileImage(int, int)
public abstract ColorModel getColorModel()
public abstract ColorModel getColorModel(int transparency)
public abstract AffineTransform getDefaultTransform()
public abstract AffineTransform getNormalizingTransform()
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.
public abstract Rectangle getBounds()
public BufferCapabilities getBufferCapabilities()
public ImageCapabilities getImageCapabilities()