java.awt
Class GraphicsDevice

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:

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".

isFullScreenSupported

public boolean isFullScreenSupported()

Returns true if this GraphicsDevice
supports full-screen exclusive mode.
If a SecurityManager is installed, its
checkPermission method will be called
with AWTPermission("fullScreenExclusive").
isFullScreenSupported returns true only if
that permission is granted.

Returns:

whether full-screen exclusive mode is available for
this graphics device

setFullScreenWindow

Enter full-screen mode, or return to windowed mode. The entered
full-screen mode may be either exclusive or simulated. Exclusive
mode is only available if isFullScreenSupported
returns true.

Exclusive mode implies:

Windows cannot overlap the full-screen window. All other application
windows will always appear beneath the full-screen window in the Z-order.

There can be only one full-screen window on a device at any time,
so calling this method while there is an existing full-screen Window
will cause the existing full-screen window to
return to windowed mode.

Input method windows are disabled. It is advisable to call
Component.enableInputMethods(false) to make a component
a non-client of the input method framework.

Simulated full-screen mode resizes
the window to the size of the screen and positions it at (0,0).

When entering full-screen mode, if the window to be used as the
full-screen window is not visible, this method will make it visible.
It will remain visible when returning to windowed mode.

When returning to windowed mode from an exclusive full-screen window, any
display changes made by calling setDisplayMode are
automatically restored to their original state.

Parameters:

w - a window to use as the full-screen window; null
if returning to windowed mode. Some platforms expect the
fullscreen window to be a top-level component (i.e., a Frame);
therefore it is preferable to use a Frame here rather than a
Window.

isDisplayChangeSupported

public boolean isDisplayChangeSupported()

Returns true if this GraphicsDevice
supports low-level display changes.
On some platforms low-level display changes may only be allowed in
full-screen exclusive mode (i.e., if isFullScreenSupported()
returns true and the application has already entered
full-screen mode using setFullScreenWindow(java.awt.Window)).

Returns:

whether low-level display changes are supported for this
graphics device.

getDisplayMode

Returns the current display mode of this
GraphicsDevice.
The returned display mode is allowed to have a refresh rate
DisplayMode.REFRESH_RATE_UNKNOWN if it is indeterminate.
Likewise, the returned display mode is allowed to have a bit depth
DisplayMode.BIT_DEPTH_MULTI if it is indeterminate or if multiple
bit depths are supported.

getDisplayModes

Returns all display modes available for this
GraphicsDevice.
The returned display modes are allowed to have a refresh rate
DisplayMode.REFRESH_RATE_UNKNOWN if it is indeterminate.
Likewise, the returned display modes are allowed to have a bit depth
DisplayMode.BIT_DEPTH_MULTI if it is indeterminate or if multiple
bit depths are supported.

Returns:

all of the display modes available for this graphics device.

Since:

1.4

getAvailableAcceleratedMemory

public int getAvailableAcceleratedMemory()

This method returns the number of bytes available in
accelerated memory on this device.
Some images are created or cached
in accelerated memory on a first-come,
first-served basis. On some operating systems,
this memory is a finite resource. Calling this method
and scheduling the creation and flushing of images carefully may
enable applications to make the most efficient use of
that finite resource.
Note that the number returned is a snapshot of how much
memory is available; some images may still have problems
being allocated into that memory. For example, depending
on operating system, driver, memory configuration, and
thread situations, the full extent of the size reported
may not be available for a given image. There are further
inquiry methods on the ImageCapabilities object
associated with a VolatileImage that can be used to determine
whether a particular VolatileImage has been created in accelerated
memory.

Returns:

number of bytes available in accelerated memory.
A negative return value indicates that the amount of accelerated memory
on this GraphicsDevice is indeterminate.

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