JavaTM 2 Platform
Standard Ed. 5.0

java.awt
类 GraphicsEnvironment

java.lang.Object
  继承者 java.awt.GraphicsEnvironment

public abstract class GraphicsEnvironment
extends Object

GraphicsEnvironment 类描述了 Java(tm) 应用程序在特定平台上可用的 GraphicsDevice 对象和 Font 对象的集合。此 GraphicsEnvironment 中的资源可以是本地资源,也可以位于远程机器上。GraphicsDevice 对象可以是屏幕、打印机或图像缓冲区,并且都是 Graphics2D 绘图方法的目标。每个 GraphicsDevice 都有许多与之相关的 GraphicsConfiguration 对象。这些对象指定了使用 GraphicsDevice 所需的不同配置。

另请参见:
GraphicsDevice, GraphicsConfiguration

构造方法摘要
protected GraphicsEnvironment()
          这是一个抽象类,不能直接实例化。
 
方法摘要
abstract  Graphics2D createGraphics(BufferedImage img)
          返回一个呈现指定 BufferedImageGraphics2D 对象。
abstract  Font[] getAllFonts()
          返回一个数组,它包含此 GraphicsEnvironment 中所有可用字体的像素级实例。
abstract  String[] getAvailableFontFamilyNames()
          返回一个包含此 GraphicsEnvironment 中所有字体系列名称的数组,它针对默认语言环境进行了本地化,由 Locale.getDefault() 返回。
abstract  String[] getAvailableFontFamilyNames(Locale l)
          返回一个包含此 GraphicsEnvironment 中所有字体系列名称的数组,它针对默认语言环境进行了本地化。
 Point getCenterPoint()
          返回 Windows 应居中的点。
abstract  GraphicsDevice getDefaultScreenDevice()
          返回默认的屏幕 GraphicsDevice
static GraphicsEnvironment getLocalGraphicsEnvironment()
          返回本地 GraphicsEnvironment
 Rectangle getMaximumWindowBounds()
          返回居中 Windows 的最大边界。
abstract  GraphicsDevice[] getScreenDevices()
          返回所有屏幕 GraphicsDevice 对象的一个数组。
static boolean isHeadless()
          测试此环境是否支持显示器、键盘和鼠标。
 boolean isHeadlessInstance()
          返回此图形环境是否支持显示器、键盘和鼠标。
 void preferLocaleFonts()
          指示在逻辑字体到实际字体的映射关系中特定于语言环境的字体的首选项。
 void preferProportionalFonts()
          指示在逻辑字体到实际字体的映射关系中针对均衡字体和非均衡字体(如双字节的中日韩字体)的首选项。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

GraphicsEnvironment

protected GraphicsEnvironment()
这是一个抽象类,不能直接实例化。必须从一个合适的工厂或查询方法获取实例。

方法详细信息

getLocalGraphicsEnvironment

public static GraphicsEnvironment getLocalGraphicsEnvironment()
返回本地 GraphicsEnvironment

返回:
本地 GraphicsEnvironment

isHeadless

public static boolean isHeadless()
测试此环境是否支持显示器、键盘和鼠标。如果此方法返回 true,则从依赖于显示器、键盘或鼠标的 Toolkit 和 GraphicsEnvironment 区域抛出 HeadlessException。

返回:
如果此环境无法支持显示器、键盘和鼠标,则返回 true;否则返回 false
从以下版本开始:
1.4
另请参见:
HeadlessException

isHeadlessInstance

public boolean isHeadlessInstance()
返回此图形环境是否支持显示器、键盘和鼠标。如果返回 true,则将从依赖于显示器、键盘或鼠标的图形环境区域抛出 HeadlessException

返回:
如果此环境可以支持显示器、键盘和鼠标,则返回 true;否则返回 false
从以下版本开始:
1.4
另请参见:
HeadlessException, isHeadless()

getScreenDevices

public abstract GraphicsDevice[] getScreenDevices()
                                           throws HeadlessException
返回所有屏幕 GraphicsDevice 对象的一个数组。

返回:
一个包含所有表示屏幕设备的 GraphicsDevice 对象的数组。
抛出:
HeadlessException - 如果 isHeadless() 返回 true
另请参见:
isHeadless()

getDefaultScreenDevice

public abstract GraphicsDevice getDefaultScreenDevice()
                                               throws HeadlessException
返回默认的屏幕 GraphicsDevice

返回:
表示默认屏幕设备的 GraphicsDevice
抛出:
HeadlessException - 如果 isHeadless() 返回 true
另请参见:
isHeadless()

createGraphics

public abstract Graphics2D createGraphics(BufferedImage img)
返回一个呈现指定 BufferedImageGraphics2D 对象。

参数:
img - 指定的 BufferedImage
返回:
一个用于呈现指定 BufferedImageGraphics2D

getAllFonts

public abstract Font[] getAllFonts()
返回一个数组,它包含此 GraphicsEnvironment 中所有可用字体的像素级实例。典型用法就是允许用户选择特定的字体。然后,通过调用选择实例中的 deriveFont 方法,应用程序可以调整字体大小和设置各种字体属性。

此方法使应用程序能够最精确地控制用于呈现文本的 Font 实例。如果此 GraphicsEnvironment 中的某种字体有多个可编程的变体,则在数组中仅返回该 Font 的一个实例,并且其他变体必须由应用程序派生。

如果此环境中的某种字体有多个可编程的变体,如 Multiple-Master 字体,则在 Font 数组中仅返回该字体的一个实例。其他变体必须由应用程序派生。

返回:
Font 对象的数组
从以下版本开始:
1.2
另请参见:
getAvailableFontFamilyNames(), Font, Font.deriveFont(int, float), Font.getFontName()

getAvailableFontFamilyNames

public abstract String[] getAvailableFontFamilyNames()
返回一个包含此 GraphicsEnvironment 中所有字体系列名称的数组,它针对默认语言环境进行了本地化,由 Locale.getDefault() 返回。

典型用法是向用户展示特定字体系列名称的选择。然后,应用程序可以在创建字体(包括样式,如粗体或斜体)时指定此名称,这为字体系统从同一字体系列的多种字体中选择自身最匹配的字体提供了灵活性。

返回:
一个 String 数组,它包含针对默认语言环境进行了本地化的字体系列名称,如果不存在针对此语言环境的名称,则返回一个合适的替代名称。
从以下版本开始:
1.2
另请参见:
getAllFonts(), Font, Font.getFamily()

getAvailableFontFamilyNames

public abstract String[] getAvailableFontFamilyNames(Locale l)
返回一个包含此 GraphicsEnvironment 中所有字体系列名称的数组,它针对默认语言环境进行了本地化。

典型用法是向用户展示特定字体系列名称的选择。然后,应用程序可以在创建字体(包括样式,如粗体或斜体)时指定此名称,这为字体系统从同一字体系列的多种字体中选择自身最匹配的字体提供了灵活性。

参数:
l - 一个表示特定地理、政治或文化领域的 Locale 对象。指定 null 等效于指定 Locale.getDefault()
返回:
一个 String 数组,它包含针对指定 Locale 进行了本地化的字体系列名称,如果不存在针对指定语言环境的名称,则返回一个合适的替代名称。
从以下版本开始:
1.2
另请参见:
getAllFonts(), Font, Font.getFamily()

preferLocaleFonts

public void preferLocaleFonts()
指示在逻辑字体到实际字体的映射关系中特定于语言环境的字体的首选项。调用此方法指示字体呈现应主要使用针对主要书写系统的字体(由默认编码和初始默认语言环境指明)。例如,如果主要书写系统是日文,那么如果可能,字符应该使用日文字体呈现;只有当日文字体中没有某种形状的字符时,才使用其他字体。

调用此方法导致的字体呈现行为的实际变化与实现有关;可能根本没有影响,也可能请求的行为已与默认的行为匹配。按轻量级呈现字体的行为可能与按同级组件呈现字体的行为不同。因为调用此方法需要不同的字体,客户端期望不同的规格,并且还可能需要重新计算窗口的大小和布局。因此,应在用户界面初始化之前调用此方法。

从以下版本开始:
1.5

preferProportionalFonts

public void preferProportionalFonts()
指示在逻辑字体到实际字体的映射关系中针对均衡字体和非均衡字体(如双字节的中日韩字体)的首选项。如果默认映射关系包含均衡字体和非均衡字体,则调用此方法指示该映射关系应当使用均衡字体。

调用此方法导致的字体呈现行为的实际变化与实现有关,可能根本没有影响。按轻量级呈现字体的行为可能与按同级组件呈现字体的行为不同。因为调用此方法需要不同的字体,客户端期望不同的规格,并且还可能需要重新计算窗口的大小和布局。因此,应在用户界面初始化之前调用此方法。

从以下版本开始:
1.5

getCenterPoint

public Point getCenterPoint()
                     throws HeadlessException
返回 Windows 应居中的点。建议使用 getMaximumWindowBounds() 检查居中的 Windows,以确保它们适合有效的显示区域。

返回:
Windows 应居中的点
抛出:
HeadlessException - 如果 isHeadless() 返回 true
从以下版本开始:
1.4
另请参见:
getMaximumWindowBounds()

getMaximumWindowBounds

public Rectangle getMaximumWindowBounds()
                                 throws HeadlessException
返回居中 Windows 的最大边界。这些边界决定了本机窗口系统中的对象,如任务栏和菜单栏。返回的边界将位于单个台显示器上,只有一种情况例外:在 Windows 横跨所有显示器居中的多屏幕系统中,此方法返回整个显示区域的边界。

要获得单个显示器的可用边界,请使用 GraphicsConfiguration.getBounds()Toolkit.getScreenInsets()

返回:
居中的 Windows 的最大边界
抛出:
HeadlessException - 如果 isHeadless() 返回 true
从以下版本开始:
1.4
另请参见:
getCenterPoint(), GraphicsConfiguration.getBounds(), Toolkit.getScreenInsets(java.awt.GraphicsConfiguration)

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策