JavaTM 2 Platform
Standard Ed. 6

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()
          指示在邏輯字體到實際字體的映射關係中用於均衡字體和非均衡字體(如雙位元組的中日韓字體)的首選項。
 boolean registerFont(Font font)
          在此 GraphicsEnvironment 中註冊一個/已創建的 Font
 
從類別 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
拋出:
NullPointerException - 如果 img 為 null

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()

registerFont

public boolean registerFont(Font font)
在此 GraphicsEnvironment 中註冊一個/已創建的 Font。已創建的字體是調用 Font.createFont(int, java.io.InputStream) 返回的字體,或者由調用 Font.deriveFont(int, float) 創建的字體派生的字體。對這種字體調用此方法之後,可在通過名稱或系列名稱建構新的 Font 的過程中使用它,並且可以通過此應用程序或 applet 的執行上下文中的 getAvailableFontFamilyNames()getAllFonts() 對它進行列舉。這意味著 applet 無法以其他 applet 可以看見它的方式註冊字體。

此方法無法註冊字體並因此返回 false 的原因是:

返回:
如果已成功在此 GraphicsEnvironment 中註冊 font,則返回 true。
從以下版本開始:
1.6

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. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only