GraphicsConfiguration

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class GraphicsConfiguration

    java.lang.Object
      java.awt.GraphicsConfiguration

    public abstract class GraphicsConfiguration

extends Object

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, `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());
              }
          }

See Also:
  `Window`, `Frame`, `GraphicsEnvironment`, `GraphicsDevice`

Method Summary
`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`.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getDevice

    public abstract GraphicsDevice getDevice()

  Returns the `GraphicsDevice` associated with this `GraphicsConfiguration`.

  Returns:
    a `GraphicsDevice` object that is associated with this `GraphicsConfiguration`.

### createCompatibleImage

    public abstract BufferedImage createCompatibleImage(int width,
                                                        int height)

  Returns a `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.

  Parameters:
    `width` - the width of the returned `BufferedImage`
    `height` - the height of the returned `BufferedImage`
  Returns:
    a `BufferedImage` whose data layout and color model is compatible with this `GraphicsConfiguration`.

### createCompatibleVolatileImage

    public abstract VolatileImage createCompatibleVolatileImage(int width,
                                                                int height)

  Returns a `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.

  Parameters:
    `width` - the width of the returned `VolatileImage`
    `height` - the height of the returned `VolatileImage`
  Returns:
    a `VolatileImage` whose data layout and color model is compatible with this `GraphicsConfiguration`.
  See Also:
    `Component.createVolatileImage(int, int)`

### createCompatibleVolatileImage

    public VolatileImage createCompatibleVolatileImage(int width,
                                                       int height,
                                                       ImageCapabilities caps)
                                                throws AWTException

  Returns a `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.

  Parameters:
    `width` - the width of the returned `VolatileImage`
    `height` - the height of the returned `VolatileImage`
    `caps` - the image capabilities
  Returns:
    a `VolatileImage` whose data layout and color model is compatible with this `GraphicsConfiguration`.
  Throws:
    `AWTException` - if the supplied image capabilities could not be met by this graphics configuration
  Since:
    1.4

### getColorModel

    public abstract ColorModel getColorModel()

  Returns the `ColorModel` associated with this `GraphicsConfiguration`.

  Returns:
    a `ColorModel` object that is associated with this `GraphicsConfiguration`.

### getBounds

    public abstract Rectangle getBounds()

  Returns the bounds of the `GraphicsConfiguration` in the device coordinates. In a multi-screen environment with a virtual device, the bounds can have negative X or Y origins.

  Returns:
    the bounds of the area covered by this `GraphicsConfiguration`.
  Since:
    1.3

### getImageCapabilities

    public ImageCapabilities getImageCapabilities()

  Returns the image capabilities of this `GraphicsConfiguration`.

  Returns:
    the image capabilities of this graphics configuration object
  Since:
    1.4

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD