java.awt
Class GraphicsEnvironment

java.lang.Object
  extended by java.awt.GraphicsEnvironment

public abstract class GraphicsEnvironment
extends Object

This descibes the collection of GraphicsDevice and Font objects available on a given platform. The resources might be local or remote, and specify the valid configurations for displaying graphics.

Since:
1.4
See Also:
GraphicsDevice, GraphicsConfiguration

Constructor Summary
protected GraphicsEnvironment()
          The environment must be obtained from a factory or query method, hence this constructor is protected.
 
Method Summary
abstract  Graphics2D createGraphics(BufferedImage image)
          Return a Graphics2D object which will render into the specified image.
abstract  Font[] getAllFonts()
          Returns an array of the one-point size fonts available in this environment.
abstract  String[] getAvailableFontFamilyNames()
          Returns an array of the font family names available in this environment.
abstract  String[] getAvailableFontFamilyNames(Locale l)
          Returns an array of the font family names available in this environment, localized to the current Locale if l is non-null.
 Point getCenterPoint()
          Returns the point where a window should be centered.
abstract  GraphicsDevice getDefaultScreenDevice()
          Get the default screen GraphicsDevice object.
static GraphicsEnvironment getLocalGraphicsEnvironment()
          Returns the local graphics environment.
 Rectangle getMaximumWindowBounds()
          Returns the maximum bounds for a centered window object.
abstract  GraphicsDevice[] getScreenDevices()
          Get an array of all the GraphicsDevice objects.
static boolean isHeadless()
          Check if the local environment is headless, meaning that it does not support a display, keyboard, or mouse.
 boolean isHeadlessInstance()
          Check if the given environment is headless, meaning that it does not support a display, keyboard, or mouse.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GraphicsEnvironment

protected GraphicsEnvironment()
The environment must be obtained from a factory or query method, hence this constructor is protected.

Method Detail

getLocalGraphicsEnvironment

public static GraphicsEnvironment getLocalGraphicsEnvironment()
Returns the local graphics environment. If the java.awt.graphicsenv system property is set, it instantiates the specified class, otherwise it assume that the awt toolkit is a ClasspathToolkit and delegates to it to create the instance.

Returns:
the local environment

isHeadless

public static boolean isHeadless()
Check if the local environment is headless, meaning that it does not support a display, keyboard, or mouse. Many methods in the Abstract Windows Toolkit (java.awt) throw a HeadlessException if this returns true. This method returns true if the java.awt.headless property is set to "true".

Returns:
true if the environment is headless, meaning that graphics are unsupported
Since:
1.4

isHeadlessInstance

public boolean isHeadlessInstance()
Check if the given environment is headless, meaning that it does not support a display, keyboard, or mouse. Many methods in the Abstract Windows Toolkit (java.awt) throw a HeadlessException if this returns true. This default implementation returns isHeadless(), so subclasses need only override it if they differ.

Returns:
true if the environment is headless, meaning that graphics are unsupported
Since:
1.4

getScreenDevices

public abstract GraphicsDevice[] getScreenDevices()
Get an array of all the GraphicsDevice objects.

Returns:
the available graphics devices, may be 0 length
Throws:
HeadlessException - if the environment is headless

getDefaultScreenDevice

public abstract GraphicsDevice getDefaultScreenDevice()
Get the default screen GraphicsDevice object.

Returns:
the default screen device
Throws:
HeadlessException - if the environment is headless

createGraphics

public abstract Graphics2D createGraphics(BufferedImage image)
Return a Graphics2D object which will render into the specified image.

Parameters:
image - the image to render into
Returns:
the object that renders into the image

getAllFonts

public abstract Font[] getAllFonts()
Returns an array of the one-point size fonts available in this environment. From there, the user can select the font and derive the correct one of proper size and attributes, using deriveFont. Only one master version of each font appears in this array; if a font can be derived from another, it must be created in that way.

Returns:
the array of available fonts
Since:
1.2
See Also:
getAvailableFontFamilyNames(), Font.deriveFont(int, float)

getAvailableFontFamilyNames

public abstract String[] getAvailableFontFamilyNames()
Returns an array of the font family names available in this environment. This allows flexibility in choosing the style of font, while still letting the Font class decide its best match.

Returns:
the array of available font families
Since:
1.2
See Also:
getAllFonts(), Font.getFamily()

getAvailableFontFamilyNames

public abstract String[] getAvailableFontFamilyNames(Locale l)
Returns an array of the font family names available in this environment, localized to the current Locale if l is non-null. This allows flexibility in choosing the style of font, while still letting the Font class decide its best match.

Parameters:
l - the locale to use
Returns:
the array of available font families, localized
Since:
1.2
See Also:
getAllFonts(), Font.getFamily()

getCenterPoint

public Point getCenterPoint()
Returns the point where a window should be centered. You should probably also check that the window fits within the screen bounds. The default simply returns the center of the maximum window bounds; subclasses should override this if native objects (like scrollbars) make that off-centered.

Returns:
the centering point
Throws:
HeadlessException - if the environment is headless
Since:
1.4
See Also:
getMaximumWindowBounds()

getMaximumWindowBounds

public Rectangle getMaximumWindowBounds()
Returns the maximum bounds for a centered window object. The default implementation simply returns the bounds of the default configuration of the default screen; subclasses should override this to if native objects (like scrollbars) reduce what is truly available. Also, subclasses should override this if the window should be centered across a multi-screen display.

Returns:
the maximum window bounds
Throws:
HeadlessException - if the environment is headless
Since:
1.4
See Also:
getCenterPoint(), GraphicsConfiguration.getBounds(), Toolkit.getScreenInsets(GraphicsConfiguration)