Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| 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.awt
Class GraphicsDevice

    java.lang.Object
      |
      +--java.awt.GraphicsDevice

public abstract class GraphicsDevice
extends Object

The `GraphicsDevice` class describes the graphics devices that might be available in a particular graphics environment. These include screen and printer devices. Note that there can be many screens and many printers in an instance of `GraphicsEnvironment`. Each graphics device has one or more `GraphicsConfiguration` objects associated with it. These objects specify the different configurations in which the `GraphicsDevice` can be used.

In a multi-screen environment, the `GraphicsConfiguration` objects can be used to render components on multiple screens. The following code sample demonstrates how to create a `JFrame` object for each `GraphicsConfiguration` on each screen device in the `GraphicsEnvironment`:

       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++) {
             JFrame f = new
             JFrame(gs[j].getDefaultConfiguration());
             Canvas c = new Canvas(gc[i]);
             Rectangle gcBounds = gc[i].getBounds();
             int xoffs = gcBounds.x;
             int yoffs = gcBounds.y;
    	   f.getContentPane().add(c);
    	   f.setLocation((i*50)+xoffs, (i*60)+yoffs);
             f.show();
          }
       }

See Also:
  `GraphicsEnvironment`, `GraphicsConfiguration`

Field Summary
`static int` | `TYPE_IMAGE_BUFFER` Device is an image buffer.
`static int` | `TYPE_PRINTER` Device is a printer.
`static int` | `TYPE_RASTER_SCREEN` Device is a raster screen.

Constructor Summary
`protected` | `GraphicsDevice()` This is an abstract class that cannot be instantiated directly.

Method Summary
`GraphicsConfiguration` | `getBestConfiguration(GraphicsConfigTemplate gct)` Returns the "best" configuration possible that passes the criteria defined in the `GraphicsConfigTemplate`.
`abstract GraphicsConfiguration[]` | `getConfigurations()` Returns all of the `GraphicsConfiguration` objects associated with this `GraphicsDevice`.
`abstract GraphicsConfiguration` | `getDefaultConfiguration()` Returns the default `GraphicsConfiguration` associated with this `GraphicsDevice`.
`abstract String` | `getIDstring()` Returns the identification string associated with this `GraphicsDevice`.
`abstract int` | `getType()` Returns the type of this `GraphicsDevice`.

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

Field Detail

### TYPE_RASTER_SCREEN

    public static final int TYPE_RASTER_SCREEN

  Device is a raster screen.

### TYPE_PRINTER

    public static final int TYPE_PRINTER

  Device is a printer.

### TYPE_IMAGE_BUFFER

    public static final int TYPE_IMAGE_BUFFER

  Device is an image buffer. This buffer can reside in device or system memory but it is not physically viewable by the user.

Constructor Detail

### GraphicsDevice

    protected GraphicsDevice()

  This is an abstract class that cannot be instantiated directly. Instances must be obtained from a suitable factory or query method.
  See Also:
    `GraphicsEnvironment.getScreenDevices()`, `GraphicsEnvironment.getDefaultScreenDevice()`, `GraphicsConfiguration.getDevice()`

Method Detail

### getType

    public abstract int getType()

  Returns the type of this `GraphicsDevice`.
  Returns:
    the type of this `GraphicsDevice`, which can either be TYPE_RASTER_SCREEN, TYPE_PRINTER or TYPE_IMAGE_BUFFER.
  See Also:
    `TYPE_RASTER_SCREEN`, `TYPE_PRINTER`, `TYPE_IMAGE_BUFFER`

### getIDstring

    public abstract String getIDstring()

  Returns the identification string associated with this `GraphicsDevice`.

  A particular program might use more than one `GraphicsDevice` in a `GraphicsEnvironment`. This method returns a `String` identifying a particular `GraphicsDevice` in the local `GraphicsEnvironment`. Although there is no public method to set this `String`, a programmer can use the `String` for debugging purposes. Vendors of the JavaTM Runtime Environment can format the return value of the `String`. To determine how to interpret the value of the `String`, contact the vendor of your Java Runtime. To find out who the vendor is, from your program, call the `getProperty` method of the System class with "java.vendor".

  Returns:
    a `String` that is the identification of this `GraphicsDevice`.

### getConfigurations

    public abstract GraphicsConfiguration[] getConfigurations()

  Returns all of the `GraphicsConfiguration` objects associated with this `GraphicsDevice`.
  Returns:
    an array of `GraphicsConfiguration` objects that are associated with this `GraphicsDevice`.

### getDefaultConfiguration

    public abstract GraphicsConfiguration getDefaultConfiguration()

  Returns the default `GraphicsConfiguration` associated with this `GraphicsDevice`.
  Returns:
    the default `GraphicsConfiguration` of this `GraphicsDevice`.

### getBestConfiguration

    public GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplate gct)

  Returns the "best" configuration possible that passes the criteria defined in the `GraphicsConfigTemplate`.
  Parameters:
    `gct` - the `GraphicsConfigTemplate` object used to obtain a valid `GraphicsConfiguration`
  Returns:
    a `GraphicsConfiguration` that passes the criteria defined in the specified `GraphicsConfigTemplate`.
  See Also:
    `GraphicsConfigTemplate`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.