- 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
 
-  
        
       -  
             构造方法摘要构造方法 Modifier Constructor 描述 protectedGraphicsEnvironment()这是一个抽象类,不能直接实例化。
 -  
             方法摘要所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract Graphics2DcreateGraphics(BufferedImage img)返回一个Graphics2D对象,用于渲染到指定的BufferedImage中 。abstract Font[]getAllFonts()返回一个包含此GraphicsEnvironment可用的所有字体的一点大小实例的GraphicsEnvironment。abstract String[]getAvailableFontFamilyNames()返回一个数组,该数组包含本地化为默认语言环境的GraphicsEnvironment中所有字体族的名称,由Locale.getDefault()返回。abstract String[]getAvailableFontFamilyNames(Locale l)返回一个数组,该数组包含本地化为指定区域设置的GraphicsEnvironment的所有字体族的名称。PointgetCenterPoint()返回Windows应该居中的点。abstract GraphicsDevicegetDefaultScreenDevice()返回默认画面GraphicsDevice。static GraphicsEnvironmentgetLocalGraphicsEnvironment()返回本地GraphicsEnvironment。RectanglegetMaximumWindowBounds()返回居中Windows的最大边界。abstract GraphicsDevice[]getScreenDevices()返回所有屏幕GraphicsDevice对象的数组。static booleanisHeadless()测试此环境中是否可以支持显示器,键盘和鼠标。booleanisHeadlessInstance()返回在此图形环境中是否可以支持显示,键盘和鼠标。voidpreferLocaleFonts()表示对逻辑字体映射到物理字体的区域设置特定字体的偏好。voidpreferProportionalFonts()表示比例超过非比例的偏好(例如booleanregisterFont(Font font)注册一个 创建Font在这个GraphicsEnvironment。
 
-  
             
-  
        
       -  
             方法详细信息-  getLocalGraphicsEnvironmentpublic static GraphicsEnvironment getLocalGraphicsEnvironment() 返回本地GraphicsEnvironment。- 结果
- 
               当地 
              GraphicsEnvironment
 
 -  isHeadlesspublic static boolean isHeadless() 测试此环境中是否可以支持显示器,键盘和鼠标。 如果此方法返回true,则会从依赖于显示器,键盘或鼠标的Toolkit和GraphicsEnvironment的区域抛出HeadlessException。- 结果
-  
              true如果这种环境不能支持显示器,键盘和鼠标; 否则为false
- 从以下版本开始:
- 1.4
- 另请参见:
-  
              HeadlessException
 
 -  isHeadlessInstancepublic boolean isHeadlessInstance() 返回在此图形环境中是否可以支持显示,键盘和鼠标。 如果这返回true,HeadlessException从依赖于显示器,键盘或鼠标的图形环境的区域抛出HeadlessException。- 结果
-  
              true如果在这种环境中可以支持显示器,键盘和鼠标;false否则
- 从以下版本开始:
- 1.4
- 另请参见:
-  
              HeadlessException,isHeadless()
 
 -  getScreenDevicespublic abstract GraphicsDevice[] getScreenDevices() throws HeadlessException 返回所有屏幕GraphicsDevice对象的数组。- 结果
- 
               一个包含所有表示屏幕设备的 
              GraphicsDevice对象的数组
- 异常
-  
              HeadlessException- 如果isHeadless()返回true
- 另请参见:
-  
              isHeadless()
 
 -  getDefaultScreenDevicepublic abstract GraphicsDevice getDefaultScreenDevice() throws HeadlessException 返回默认画面GraphicsDevice。- 结果
- 
               表示默认屏幕设备的 
              GraphicsDevice
- 异常
-  
              HeadlessException- 如果isHeadless()返回true
- 另请参见:
-  
              isHeadless()
 
 -  createGraphicspublic abstract Graphics2D createGraphics(BufferedImage img) 返回一个Graphics2D对象,用于渲染到指定的BufferedImage中 。- 参数
-  
              img- 指定BufferedImage
- 结果
- 
               一个 
              Graphics2D用于渲染到指定的BufferedImage
- 异常
-  
              NullPointerException- 如果img为空
 
 -  getAllFontspublic abstract Font[] getAllFonts() 返回一个包含此GraphicsEnvironment可用的所有字体的一点大小实例的GraphicsEnvironment。 典型的用法是允许用户选择特定的字体。 然后,应用程序可以通过在所选实例上调用deriveFont方法来deriveFont字体并设置各种字体属性。该方法为应用程序提供了最精确的控制,使用哪个 Font实例来呈现文本。 如果该GraphicsEnvironment的字体具有多个可编程变量,则该数组中仅返回一个Font一个实例,并且应用程序必须导出其他变体。如果此环境中的字体有多个可编程变体,例如Multiple-Master字体,那么 Font数组中Font返回该字体的一个实例。 其他变体必须由应用程序导出。- 结果
- 
               一组 
              Font对象
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              getAvailableFontFamilyNames(),Font,Font.deriveFont(int, float),Font.getFontName()
 
 -  getAvailableFontFamilyNamespublic abstract String[] getAvailableFontFamilyNames() 返回一个数组,该数组包含本地化为默认语言环境的GraphicsEnvironment中所有字体族的名称,由Locale.getDefault()返回。典型的用法是呈现给用户以选择特定的姓氏。 然后,应用程序可以在创建字体时指定此名称,并结合使用粗体或斜体的样式,使字体系统灵活地选择自己在同一字体系列中的多种字体之间的最佳匹配。 - 结果
- 
               包含本地化为默认语言环境的字体族名称的 
              String数组,如果此区域设置中没有名称,则为合适的替代名称。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              getAllFonts(),Font,Font.getFamily()
 
 -  getAvailableFontFamilyNamespublic abstract String[] getAvailableFontFamilyNames(Locale l) 返回包含在此所有字体系列名称的数组,GraphicsEnvironment本地化为指定的语言环境。典型的用法是呈现给用户以选择特定的姓氏。 然后,应用程序可以在创建字体时指定此名称,并结合使用粗体或斜体的样式,使字体系统灵活地选择自己在同一字体系列中的多种字体之间的最佳匹配。 - 参数
-  
              l- 代表特定地理,政治或文化区域的Locale对象。 指定null相当于指定Locale.getDefault()。
- 结果
- 
               一个 
              String的数组,包含为指定的Locale定位的字体族名,或者如果没有指定语言环境的名称,则为合适的替代名称。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              getAllFonts(),Font,Font.getFamily()
 
 -  registerFontpublic boolean registerFont(Font font) 注册一个创建Font在这个GraphicsEnvironment。 创建的字体是从调用Font.createFont(int, java.io.InputStream)返回的字体,或通过调用Font.deriveFont(int, float)从创建的字体导出的 。 在调用此类字体后,可以在名称或姓氏中构建新的Font,并在此应用程序或小程序的执行上下文中列出了getAvailableFontFamilyNames()和getAllFonts()。 这意味着小程序无法以其他applet可见的方式注册字体。这种方法可能无法注册字体,因此返回 false是:-  该字体不是创建 Font。
-  字体与未创建的Font冲突已经在这个GraphicsEnvironment。 例如,如果名称是系统字体的名称,或27049428328991类的文档中描述的逻辑字体。 如果字体与系统字体具有相同的系列名称,字体是否也可能会发生冲突。请注意,应用程序可以使用新的字体替换先前创建的字体的注册。 
 - 参数
-  
              font- 要注册的字体
- 结果
- 
               如果 
              font在此GraphicsEnvironment成功注册,GraphicsEnvironment。
- 异常
-  
              NullPointerException- 如果font为空
- 从以下版本开始:
- 1.6
 
-  该字体不是创建 
 -  preferLocaleFontspublic void preferLocaleFonts() 表示对逻辑字体映射到物理字体的区域设置特定字体的偏好。 调用此方法表示字体渲染应主要使用主要写入系统特定的字体(由默认编码和初始默认语言环境指定的字体)。 例如,如果主要的书写系统是日语,那么如果可能,应该使用日语字体来呈现字符,而其他字体只能用于日文字体没有字形的字符。由调用此方法导致的字体渲染行为的实际变化取决于实现; 它可能没有任何效果,或者所请求的行为可能已经与默认行为相匹配。 轻量级和对等组件中的字体渲染行为可能会有所不同。 由于调用此方法请求不同的字体,客户端应该期望不同的度量,并且可能需要重新计算窗口大小和布局。 因此,在用户界面初始化之前应该调用此方法。 - 从以下版本开始:
- 1.5
 
 -  preferProportionalFontspublic void preferProportionalFonts() 表示在逻辑字体映射到物理字体时比例超过非比例(例如双间隔CJK字体)字体的偏好。 如果默认映射包含存在比例和非比例变量的字体,则调用此方法表示映射应使用比例变量。由调用此方法导致的字体渲染行为的实际变化取决于实现; 它可能没有任何效果。 轻量级和对等组件中的字体渲染行为可能会有所不同。 由于调用此方法请求不同的字体,客户端应该期望不同的度量,并且可能需要重新计算窗口大小和布局。 因此,在用户界面初始化之前应该调用此方法。 - 从以下版本开始:
- 1.5
 
 -  getCenterPointpublic Point getCenterPoint() throws HeadlessException 返回Windows应该居中的点。 建议使用getMaximumWindowBounds()检查居中的Windows,以确保它们适合可用的显示区域。- 结果
- Windows应该居中的地步
- 异常
-  
              HeadlessException- 如果isHeadless()返回true
- 从以下版本开始:
- 1.4
- 另请参见:
-  
              getMaximumWindowBounds()
 
 -  getMaximumWindowBoundspublic Rectangle getMaximumWindowBounds() throws HeadlessException 返回居中Windows的最大边界。 这些边界是本地窗口系统中的对象,如任务栏和菜单栏。 返回的界限将驻留在单个显示屏上,但有一个例外:在多屏幕系统中,Windows应以所有显示为中心,此方法返回整个显示区域的界限。要获得单个显示的可用边界,请使用 GraphicsConfiguration.getBounds()和Toolkit.getScreenInsets()。- 结果
- 居中Windows的最大边界
- 异常
-  
              HeadlessException- 如果isHeadless()返回true
- 从以下版本开始:
- 1.4
- 另请参见:
-  
              getCenterPoint(),GraphicsConfiguration.getBounds(),Toolkit.getScreenInsets(java.awt.GraphicsConfiguration)
 
 
-  
 
-