public abstract class GraphicsEnvironment extends Object
GraphicsEnvironment
クラスは、特定のプラットフォーム上の Java(tm) アプリケーションで使用できる GraphicsDevice
オブジェクトと Font
オブジェクトのコレクションを記述します。 この GraphicsEnvironment
のリソースは、ローカルマシン上か、リモートマシン上にあります。GraphicsDevice
オブジェクトは、画面、プリンタ、またはイメージバッファーの場合があり、Graphics2D
描画メソッドのデスティネーションです。 各 GraphicsDevice
は、それに関連したいくつかの GraphicsConfiguration
オブジェクトを持ちます。これらのオブジェクトは、GraphicsDevice
を使用できるさまざまな構成を指定します。修飾子 | コンストラクタと説明 |
---|---|
protected |
GraphicsEnvironment()
インスタンスを直接生成できない abstract クラスです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract Graphics2D |
createGraphics(BufferedImage img)
指定された
BufferedImage に描画するための Graphics2D オブジェクトを返します。 |
abstract Font[] |
getAllFonts()
この
GraphicsEnvironment で使用可能なすべてのフォントの 1 ポイントのサイズのインスタンスを含む配列を返します。 |
abstract String[] |
getAvailableFontFamilyNames()
Locale.getDefault() によって返されたデフォルトロケール向けにローカライズされた、この GraphicsEnvironment 内のすべてのフォントファミリの名前を含む配列を返します。 |
abstract String[] |
getAvailableFontFamilyNames(Locale l)
指定されたロケール向けにローカライズされた、この
GraphicsEnvironment 内のすべてのフォントファミリの名前を含む配列を返します。 |
Point |
getCenterPoint()
Window を中央に配置する Point を返します。
|
abstract GraphicsDevice |
getDefaultScreenDevice()
デフォルト画面
GraphicsDevice を返します。 |
static GraphicsEnvironment |
getLocalGraphicsEnvironment()
ローカルの
GraphicsEnvironment を返します。 |
Rectangle |
getMaximumWindowBounds()
中央に配置された Window の最大の境界を返します。
|
abstract GraphicsDevice[] |
getScreenDevices()
すべての画面
GraphicsDevice オブジェクトの配列を返します。 |
static boolean |
isHeadless()
ディスプレイ、キーボード、およびマウスがこの環境でサポートされるかどうかを判定します。
|
boolean |
isHeadlessInstance()
ディスプレイ、キーボード、およびマウスがこのグラフィックス環境でサポートされるかどうかを返します。
|
void |
preferLocaleFonts()
論理フォントから物理フォントのマッピングでのロケール固有のフォントの設定を指定します。
|
void |
preferProportionalFonts()
論理フォントから物理フォントへのマッピングで、プロポーショナルフォント以外のフォント (dual-spaced CJK フォントなど) よりもプロポーショナルフォントを優先する設定を指定します。
|
boolean |
registerFont(Font font)
この
GraphicsEnvironment で作成された Font を登録します。 |
protected GraphicsEnvironment()
public static GraphicsEnvironment getLocalGraphicsEnvironment()
GraphicsEnvironment
を返します。GraphicsEnvironment
public static boolean isHeadless()
true
、そうでない場合は false
HeadlessException
public boolean isHeadlessInstance()
HeadlessException
がディスプレイ、キーボード、またはマウスに依存するグラフィックス環境の領域からスローされます。true
、そうでない場合は false
HeadlessException
, isHeadless()
public abstract GraphicsDevice[] getScreenDevices() throws HeadlessException
GraphicsDevice
オブジェクトの配列を返します。GraphicsDevice
オブジェクトを格納する配列HeadlessException
- isHeadless() が true を返した場合isHeadless()
public abstract GraphicsDevice getDefaultScreenDevice() throws HeadlessException
GraphicsDevice
を返します。GraphicsDevice
HeadlessException
- isHeadless() が true を返した場合isHeadless()
public abstract Graphics2D createGraphics(BufferedImage img)
BufferedImage
に描画するための Graphics2D
オブジェクトを返します。img
- 指定された BufferedImage
BufferedImage
に描画するために使用される Graphics2D
NullPointerException
- img
が null の場合public abstract Font[] getAllFonts()
GraphicsEnvironment
で使用可能なすべてのフォントの 1 ポイントのサイズのインスタンスを含む配列を返します。通常の使い方では、ユーザーは特定のフォントを選択できます。 アプリケーションは選択済みインスタンスに deriveFont
メソッドを呼び出して、フォントのサイズ変更と、各種フォント属性の設定を行うことができます。
このメソッドにより、アプリケーションはどの Font
インスタンスを使用してテキストを描画するかを、もっとも正確に制御できるようになります。 この GraphicsEnvironment
のフォントが複数のプログラム可能なバリエーションを持つ場合には、その Font
の 1 つのインスタンスだけが配列で返され、ほかのバリエーションはアプリケーションによって引き出されなければいけません。
この環境のフォントがマルチプルマスターフォントのように複数のプログラム可能なバリエーションを持つ場合には、そのフォントの 1 つのインスタンスだけが Font
配列で返され、ほかのバリエーションはアプリケーションによって引き出されなければいけません。
Font
オブジェクトの配列getAvailableFontFamilyNames()
, Font
, Font.deriveFont(int, float)
, Font.getFontName()
public abstract String[] getAvailableFontFamilyNames()
Locale.getDefault()
によって返されたデフォルトロケール向けにローカライズされた、この GraphicsEnvironment
内のすべてのフォントファミリの名前を含む配列を返します。
一般的な使い方では、ユーザーが特定のファミリ名を選択できるようにします。アプリケーションでフォントの作成時に、Bold や Italic などのスタイルとともにこの名前を指定できるため、フォントシステムに、同じフォントファミリの複数のフォントの中でもっとも適切なものを選択する柔軟性を与えます。
String
の配列、またはこのロケールの名前が存在しない場合は適切な代替名。getAllFonts()
, Font
, Font.getFamily()
public abstract String[] getAvailableFontFamilyNames(Locale l)
GraphicsEnvironment
内のすべてのフォントファミリの名前を含む配列を返します。
一般的な使い方では、ユーザーが特定のファミリ名を選択できるようにします。アプリケーションでフォントの作成時に、Bold や Italic などのスタイルとともにこの名前を指定できるため、フォントシステムに、同じフォントファミリの複数のフォントの中でもっとも適切なものを選択する柔軟性を与えます。
l
- 特定の地理的、政治的、または文化的領域を表す Locale
オブジェクト。 null
を指定すると、Locale.getDefault()
を指定したことになる。Locale
にローカライズされたフォントファミリ名を格納する String
の配列、または指定されたロケールの名前が存在しない場合は適切な代替名。getAllFonts()
, Font
, Font.getFamily()
public boolean registerFont(Font font)
GraphicsEnvironment
で作成された Font
を登録します。 作成されたフォントは、Font.createFont(int, java.io.InputStream)
を呼び出して返されたフォント、または Font.deriveFont(int, float)
を呼び出して作成されたフォントから派生したフォントです。 そのようなフォントは、このメソッドの呼び出し後に、名前またはファミリ名で新しい Font
を構築するために使用できるほか、このアプリケーションまたはアプレットの実行コンテキスト内で getAvailableFontFamilyNames()
および getAllFonts()
を呼び出すことで列挙できます。つまりアプレットは、ほかのアプレットが識別できるような方法ではフォントを登録できません。
このメソッドがフォントを登録できずに false
を返す理由は、次のとおりです。
Font
ではありません。
GraphicsEnvironment
内にすでに存在する作成されていない Font
と競合しています。 たとえば名前がシステムフォントの名前である場合や、Font
クラスのマニュアルに記載された論理フォントの名前である場合です。システムフォントとファミリ名が同じ場合にフォントが競合するかどうかは、実装ごとに異なります。
アプリケーションは、以前作成されたフォントの登録よりも新しく作成されたフォントを優先できます。
GraphicsEnvironment
で font
が正常に登録された場合は true。NullPointerException
- font
が null の場合public void preferLocaleFonts()
このメソッドの呼び出しによって実行されるフォントの描画動作での実際の変更は、実装によって異なります。まったく影響がない場合もあれば、要求された動作がデフォルトの動作に一致している場合もあります。この動作は、軽量コンポーネントのフォントの描画とピアコンポーネントのフォントの描画で異なることがあります。このメソッドを呼び出すと、別のフォントが要求されるため、クライアントは別のメトリクスを予想する必要があり、ウィンドウのサイズとレイアウトの再計算が必要になる場合もあります。そのため、このメソッドはユーザーインタフェースの初期化前に呼び出す必要があります。
public void preferProportionalFonts()
このメソッドの呼び出しによって実行されるフォントの描画動作での実際の変更は、実装によって異なります。まったく影響がない場合もあります。この動作は、軽量コンポーネントのフォントの描画とピアコンポーネントのフォントの描画で異なることがあります。このメソッドを呼び出すと、別のフォントが要求されるため、クライアントは別のメトリクスを予想する必要があり、ウィンドウのサイズとレイアウトの再計算が必要になる場合もあります。そのため、このメソッドはユーザーインタフェースの初期化前に呼び出す必要があります。
public Point getCenterPoint() throws HeadlessException
HeadlessException
- isHeadless() が true を返した場合getMaximumWindowBounds()
public Rectangle getMaximumWindowBounds() throws HeadlessException
単一のディスプレイの使用できる境界を取得するには、GraphicsConfiguration.getBounds()
および Toolkit.getScreenInsets()
を使用します。
HeadlessException
- isHeadless() が true を返した場合getCenterPoint()
, GraphicsConfiguration.getBounds()
, Toolkit.getScreenInsets(java.awt.GraphicsConfiguration)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.