is new.
java.lang.Objectjava.awt.GraphicsEnvironment
public abstract class GraphicsEnvironment
The 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.
| Constructor Summary | |
|---|---|
| protected |
GraphicsEnvironment
() This is an abstract class and cannot be instantiated directly. |
| Method Summary | |
|---|---|
| abstract Graphics2D |
createGraphics
(
BufferedImage
img) Returns a Graphics2D object for rendering into the specified BufferedImage . |
| 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 GraphicsEnvironment localized for the default locale, as returned by Locale.getDefault(). |
| abstract String [] |
getAvailableFontFamilyNames
(
Locale
l) Returns an array containing the names of all font families in this GraphicsEnvironment localized 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 GraphicsDevice objects. |
| 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
Registers a
/created
Fontin this GraphicsEnvironment.
|
| Methods inherited from class java.lang. Object |
|---|
| clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| Constructor Detail |
|---|
protected GraphicsEnvironment()
| Method Detail |
|---|
public static GraphicsEnvironment getLocalGraphicsEnvironment()
public static boolean isHeadless()
public boolean isHeadlessInstance()
public abstract GraphicsDevice[] getScreenDevices()
throws HeadlessException
public abstract GraphicsDevice getDefaultScreenDevice()
throws HeadlessException
public abstract Graphics2D createGraphics(BufferedImage img)
Throws:
NullPointerException
- if img is null
public abstract Font[] getAllFonts()
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.
public abstract String[] getAvailableFontFamilyNames()
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.
public abstract String[] getAvailableFontFamilyNames(Locale l)
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.
registerFont
public boolean
registerFont
(
Font
font)
Registers a
/created
Fontin this GraphicsEnvironment. A created font is one that was returned from calling Font#createFont(), or derived from a created font by calling Font#deriveFont(). 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 :
The font is not a
/created
Font.
The font conflicts with a non-created 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. The exception for created fonts means that an application can supersede the registration of an earlier created font with a new one.
Returns:
true if the font is successfully registered in this GraphicsEnvironment.
Since:
1.6
public 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
public Rectangle getMaximumWindowBounds()
throws HeadlessException
To get the usable bounds of a single display, use GraphicsConfiguration.getBounds() and Toolkit.getScreenInsets().