public abstract class GraphicsEnvironment extends Object
GraphicsEnvironment class describes the collection
 of GraphicsDevice objects and Font objects
 available to a Java(tm) application on a particular platform.
 The resources in this GraphicsEnvironment might be local
 or on a remote machine.  GraphicsDevice objects can be
 screens, printers or image buffers and are the destination of
 Graphics2D drawing methods.  Each GraphicsDevice
 has a number of GraphicsConfiguration objects associated with
 it.  These objects specify the different configurations in which the
 GraphicsDevice can be used.GraphicsDevice, 
GraphicsConfiguration| Modifier | Constructor and Description | 
|---|---|
| protected  | GraphicsEnvironment()This is an abstract class and cannot be instantiated directly. | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract Graphics2D | createGraphics(BufferedImage img)Returns a  Graphics2Dobject for rendering into the
 specifiedBufferedImage. | 
| abstract Font[] | getAllFonts()Returns an array containing a one-point size instance of all fonts
 available in this  GraphicsEnvironment. | 
| abstract String[] | getAvailableFontFamilyNames()Returns an array containing the names of all font families in this
  GraphicsEnvironmentlocalized for the default locale,
 as returned byLocale.getDefault(). | 
| abstract String[] | getAvailableFontFamilyNames(Locale l)Returns an array containing the names of all font families in this
  GraphicsEnvironmentlocalized for the specified locale. | 
| Point | getCenterPoint()Returns the Point where Windows should be centered. | 
| abstract GraphicsDevice | getDefaultScreenDevice()Returns the default screen  GraphicsDevice. | 
| static GraphicsEnvironment | getLocalGraphicsEnvironment()Returns the local  GraphicsEnvironment. | 
| Rectangle | getMaximumWindowBounds()Returns the maximum bounds for centered Windows. | 
| abstract GraphicsDevice[] | getScreenDevices()Returns an array of all of the screen  GraphicsDeviceobjects. | 
| static boolean | isHeadless()Tests whether or not a display, keyboard, and mouse can be
 supported in this environment. | 
| boolean | isHeadlessInstance()Returns whether or not a display, keyboard, and mouse can be
 supported in this graphics environment. | 
| void | preferLocaleFonts()Indicates a preference for locale-specific fonts in the mapping of
 logical fonts to physical fonts. | 
| void | preferProportionalFonts()Indicates a preference for proportional over non-proportional (e.g. | 
| boolean | registerFont(Font font)Registers a created  Fontin thisGraphicsEnvironment. | 
protected GraphicsEnvironment()
public static GraphicsEnvironment getLocalGraphicsEnvironment()
GraphicsEnvironment.GraphicsEnvironmentpublic static boolean isHeadless()
true if this environment cannot support
 a display, keyboard, and mouse; false
 otherwiseHeadlessExceptionpublic boolean isHeadlessInstance()
HeadlessException will be thrown from areas of the
 graphics environment that are dependent on a display, keyboard, or
 mouse.true if a display, keyboard, and mouse
 can be supported in this environment; false
 otherwiseHeadlessException, 
isHeadless()public abstract GraphicsDevice[] getScreenDevices() throws HeadlessException
GraphicsDevice
 objects.GraphicsDevice
 objects that represent screen devicesHeadlessException - if isHeadless() returns trueisHeadless()public abstract GraphicsDevice getDefaultScreenDevice() throws HeadlessException
GraphicsDevice.GraphicsDevice that represents the
 default screen deviceHeadlessException - if isHeadless() returns trueisHeadless()public abstract Graphics2D createGraphics(BufferedImage img)
Graphics2D object for rendering into the
 specified BufferedImage.img - the specified BufferedImageGraphics2D to be used for rendering into
 the specified BufferedImageNullPointerException - if img is nullpublic abstract Font[] getAllFonts()
GraphicsEnvironment.  Typical usage
 would be to allow a user to select a particular font.  Then, the
 application can size the font and set various font attributes by
 calling the deriveFont method on the chosen instance.
 
 This method provides for the application the most precise control
 over which Font instance is used to render text.
 If a font in this GraphicsEnvironment has multiple
 programmable variations, only one
 instance of that Font is returned in the array, and
 other variations must be derived by the application.
 
 If a font in this environment has multiple programmable variations,
 such as Multiple-Master fonts, only one instance of that font is
 returned in the Font array.  The other variations
 must be derived by the application.
Font objectsgetAvailableFontFamilyNames(), 
Font, 
Font.deriveFont(int, float), 
Font.getFontName()public abstract String[] getAvailableFontFamilyNames()
GraphicsEnvironment localized for the default locale,
 as returned by Locale.getDefault().
 Typical usage would be for presentation to a user for selection of a particular family name. An application can then specify this name when creating a font, in conjunction with a style, such as bold or italic, giving the font system flexibility in choosing its own best match among multiple fonts in the same font family.
String containing font family names
 localized for the default locale, or a suitable alternative
 name if no name exists for this locale.getAllFonts(), 
Font, 
Font.getFamily()public abstract String[] getAvailableFontFamilyNames(Locale l)
GraphicsEnvironment localized for the specified locale.
 Typical usage would be for presentation to a user for selection of a particular family name. An application can then specify this name when creating a font, in conjunction with a style, such as bold or italic, giving the font system flexibility in choosing its own best match among multiple fonts in the same font family.
l - a Locale object that represents a
 particular geographical, political, or cultural region.
 Specifying null is equivalent to
 specifying Locale.getDefault().String containing font family names
 localized for the specified Locale, or a
 suitable alternative name if no name exists for the specified locale.getAllFonts(), 
Font, 
Font.getFamily()public boolean registerFont(Font font)
Fontin this
 GraphicsEnvironment.
 A created font is one that was returned from calling
 Font.createFont(int, java.io.InputStream), or derived from a created font by
 calling Font.deriveFont(int, float).
 After calling this method for such a font, it is available to
 be used in constructing new Fonts by name or family name,
 and is enumerated by getAvailableFontFamilyNames() and
 getAllFonts() within the execution context of this
 application or applet. This means applets cannot register fonts in
 a way that they are visible to other applets.
 
 Reasons that this method might not register the font and therefore
 return false are:
 
Font.
 Font already
 in this GraphicsEnvironment. For example if the name
 is that of a system font, or a logical font as described in the
 documentation of the Font class. It is implementation dependent
 whether a font may also conflict if it has the same family name
 as a system font.
 Notice that an application can supersede the registration of an earlier created font with a new one.
font is successfully
 registered in this GraphicsEnvironment.NullPointerException - if font is nullpublic void preferLocaleFonts()
The actual change in font rendering behavior resulting from a call to this method is implementation dependent; it may have no effect at all, or the requested behavior may already match the default behavior. The behavior may differ between font rendering in lightweight and peered components. Since calling this method requests a different font, clients should expect different metrics, and may need to recalculate window sizes and layout. Therefore this method should be called before user interface initialisation.
public void preferProportionalFonts()
The actual change in font rendering behavior resulting from a call to this method is implementation dependent; it may have no effect at all. The behavior may differ between font rendering in lightweight and peered components. Since calling this method requests a different font, clients should expect different metrics, and may need to recalculate window sizes and layout. Therefore this method should be called before user interface initialisation.
public Point getCenterPoint() throws HeadlessException
HeadlessException - if isHeadless() returns truegetMaximumWindowBounds()public Rectangle getMaximumWindowBounds() throws HeadlessException
 To get the usable bounds of a single display, use
 GraphicsConfiguration.getBounds() and
 Toolkit.getScreenInsets().
HeadlessException - if isHeadless() returns truegetCenterPoint(), 
GraphicsConfiguration.getBounds(), 
Toolkit.getScreenInsets(java.awt.GraphicsConfiguration) Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2015, Oracle and/or its affiliates.  All rights reserved.