|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.awt.GraphicsDevice
public abstract class GraphicsDevice
GraphicsDevice クラスは、特定のグラフィックス環境で利用可能なグラフィックスデバイスを記述します。こうしたデバイスには、スクリーンデバイスとプリンタデバイスがあります。GraphicsEnvironment のインスタンスに、多数の画面とプリンタがある場合があります。各グラフィックスデバイスは、それに関連した 1 つ以上の GraphicsConfiguration オブジェクトを持ちます。これらのオブジェクトは、GraphicsDevice を使用できるさまざまな構成を指定します。
マルチスクリーン環境では、GraphicsConfiguration オブジェクトを使って複数の画面にコンポーネントを描画できます。次のコードサンプルは、GraphicsEnvironment の各スクリーンデバイスで、GraphicsConfiguration ごとに JFrame オブジェクトを生成する方法を示したものです。
GraphicsEnvironment ge = GraphicsEnvironment.
getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
for (int j = 0; j < gs.length; j++) {
GraphicsDevice gd = gs[j];
GraphicsConfiguration[] gc =
gd.getConfigurations();
for (int i=0; i < gc.length; i++) {
JFrame f = new
JFrame(gs[j].getDefaultConfiguration());
Canvas c = new Canvas(gc[i]);
Rectangle gcBounds = gc[i].getBounds();
int xoffs = gcBounds.x;
int yoffs = gcBounds.y;
f.getContentPane().add(c);
f.setLocation((i*50)+xoffs, (i*60)+yoffs);
f.show();
}
}
フルスクリーン排他モード API の詳細は、「Full-Screen Exclusive Mode API Tutorial」を参照してください。
GraphicsEnvironment,
GraphicsConfiguration| フィールドの概要 | |
|---|---|
static int |
TYPE_IMAGE_BUFFER
デバイスはイメージバッファーです。 |
static int |
TYPE_PRINTER
デバイスはプリンタです。 |
static int |
TYPE_RASTER_SCREEN
デバイスはラスタ画面です。 |
| コンストラクタの概要 | |
|---|---|
protected |
GraphicsDevice()
これは、インスタンスを直接には生成できない abstract クラスです。 |
| メソッドの概要 | |
|---|---|
int |
getAvailableAcceleratedMemory()
このメソッドは、このデバイスの高速メモリーで使用できるバイト数を返します。 |
GraphicsConfiguration |
getBestConfiguration(GraphicsConfigTemplate gct)
有効な GraphicsConfiguration を取得するために使用される GraphicsConfigTemplate オブジェクト |
abstract GraphicsConfiguration[] |
getConfigurations()
この GraphicsDevice に関連したすべての GraphicsConfiguration オブジェクトを返します。 |
abstract GraphicsConfiguration |
getDefaultConfiguration()
この GraphicsDevice に関連したデフォルトの GraphicsConfiguration を返します。 |
DisplayMode |
getDisplayMode()
この GraphicsDevice の現在の表示モードを返します。 |
DisplayMode[] |
getDisplayModes()
この GraphicsDevice で使用できるすべての表示モードを返します。 |
Window |
getFullScreenWindow()
デバイスがフルスクリーンモードにある場合、フルスクリーンウィンドウを表す Window オブジェクトを返します。 |
abstract String |
getIDstring()
この GraphicsDevice に関連した ID 文字列を返します。 |
abstract int |
getType()
この GraphicsDevice の型を返します。 |
boolean |
isDisplayChangeSupported()
この GraphicsDevice が低レベル表示変更をサポートする場合は true を返します。 |
boolean |
isFullScreenSupported()
この GraphicsDevice がフルスクリーン排他モードをサポートする場合は、true を返します。 |
void |
setDisplayMode(DisplayMode dm)
このグラフィックスデバイスの表示モードを設定します。 |
void |
setFullScreenWindow(Window w)
フルスクリーンモードに入るか、またはウィンドウモードに復帰します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int TYPE_RASTER_SCREEN
public static final int TYPE_PRINTER
public static final int TYPE_IMAGE_BUFFER
| コンストラクタの詳細 |
|---|
protected GraphicsDevice()
GraphicsEnvironment.getScreenDevices(),
GraphicsEnvironment.getDefaultScreenDevice(),
GraphicsConfiguration.getDevice()| メソッドの詳細 |
|---|
public abstract int getType()
GraphicsDevice の型を返します。
GraphicsDevice の型。TYPE_RASTER_SCREEN、TYPE_PRINTER、または TYPE_IMAGE_BUFFERTYPE_RASTER_SCREEN,
TYPE_PRINTER,
TYPE_IMAGE_BUFFERpublic abstract String getIDstring()
GraphicsDevice に関連した ID 文字列を返します。
特定のプログラムは GraphicsEnvironment にある複数の GraphicsDevice を使用する場合があります。このメソッドは、ローカルの GraphicsEnvironment にある特定の GraphicsDevice を識別する String を返します。この String を設定する public メソッドはありませんが、プログラマはこの String をデバッグ用に使用できます。JavaTM Runtime Environment のベンダーは、この String の戻り値をフォーマットできます。この String の値を解釈する方法を決定するには、Java Runtime のご購入元に連絡してください。プログラムからベンダーを確認するには、"java.vendor" で System クラスの getProperty メソッドを呼び出します。
GraphicsDevice の ID を表す Stringpublic abstract GraphicsConfiguration[] getConfigurations()
GraphicsDevice に関連したすべての GraphicsConfiguration オブジェクトを返します。
GraphicsDevice に関連付けられている GraphicsConfiguration オブジェクトの配列public abstract GraphicsConfiguration getDefaultConfiguration()
GraphicsDevice に関連したデフォルトの GraphicsConfiguration を返します。
GraphicsDevice のデフォルトの GraphicsConfigurationpublic GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplate gct)
GraphicsConfiguration を取得するために使用される GraphicsConfigTemplate オブジェクト
gct - 有効な GraphicsConfiguration を取得するために使用される GraphicsConfigTemplate オブジェクト
GraphicsConfigTemplate で定義されている基準を渡すことのできる GraphicsConfigurationGraphicsConfigTemplatepublic boolean isFullScreenSupported()
GraphicsDevice がフルスクリーン排他モードをサポートする場合は、true を返します。SecurityManager がインストールされている場合、checkPermission メソッドは AWTPermission("fullScreenExclusive") で呼び出されます。
isFullScreenSupported はそのアクセス権が許可された場合だけ true を返します。
AWTPermissionpublic void setFullScreenWindow(Window w)
isFullScreenSupported が true を返す場合にのみ利用できます。
排他モードでは、次のような状態になります。
Component.enableInputMethods(false) を呼び出して、コンポーネントをインプットメソッドフレームワークの非クライアントにすることをお勧めします。
シミュレーションフルスクリーンモードでは、ウィンドウのサイズを画面のサイズに変更し、その位置を (0,0) にします。
フルスクリーンモードに切り替えた際に、フルスクリーンウィンドウとして使用するウィンドウが表示されていない場合、このメソッドはそのウィンドウを表示します。ウィンドウモードに戻っても表示されたままになります。
フルスクリーン排他ウィンドウからウィンドウモードに復帰すると、setDisplayMode の呼び出しによって行われた表示変更は、元の状態に自動的に復元されます。
w - フルスクリーンウィンドウとして使用するウィンドウ、ウィンドウモードに復帰する場合は null。一部のプラットフォームでは、フルスクリーンウィンドウがトップレベルコンポーネント (つまり、Frame) であることが期待されるため、ここでは Window よりも Frame を使うほうが適切であるisFullScreenSupported(),
getFullScreenWindow(),
setDisplayMode(java.awt.DisplayMode),
Component.enableInputMethods(boolean),
Component.setVisible(boolean)public Window getFullScreenWindow()
Window オブジェクトを返します。
nullsetFullScreenWindow(Window)public boolean isDisplayChangeSupported()
GraphicsDevice が低レベル表示変更をサポートする場合は true を返します。一部のプラットフォームでは、低レベル表示変更は、フルスクリーン排他モードでのみ許可されることがあります。つまり、isFullScreenSupported() が true を返し、setFullScreenWindow(java.awt.Window) を使用してアプリケーションがすでにフルスクリーンモードになっている場合です。
isFullScreenSupported(),
setDisplayMode(java.awt.DisplayMode),
setFullScreenWindow(java.awt.Window)public void setDisplayMode(DisplayMode dm)
isFullScreenSupported() が true を返す場合にのみ許可されます。また、フルスクリーン排他モードがサポートされる (つまり isFullScreenSupported() が true を返す) 場合は、setFullScreenWindow(java.awt.Window) を使用してあらかじめフルスクリーンモードになっている必要があることがあります。
表示モードは、getDisplayModes() で返される表示モードのいずれかである必要があります。例外として、DisplayMode.REFRESH_RATE_UNKNOWN リフレッシュレートで表示モードを渡すと、幅、高さ、およびビットの深さが一致する利用可能な表示モードのリストから表示モードを選択することになります。ただし、ビットの深さが DisplayMode.BIT_DEPTH_MULTI である表示モードは、そのようなモードが getDisplayModes() で返されるリストに存在する場合にだけ渡すことができます。
コード例:
Frame frame;
DisplayMode newDisplayMode;
GraphicsDevice gd;
// create a Frame, select desired DisplayMode from the list of modes
// returned by gd.getDisplayModes() ...
if (gd.isFullScreenSupported()) {
gd.setFullScreenWindow(frame);
} else {
// proceed in non-full-screen mode
frame.setSize(...);
frame.setLocation(...);
frame.setVisible(true);
}
if (gd.isDisplayChangeSupported()) {
gd.setDisplayMode(newDisplayMode);
}
dm - このグラフィックスデバイスの新しい表示モード。
IllegalArgumentException - 指定された DisplayMode がnull の場合、または getDisplayModes で返された配列で利用できない場合
UnsupportedOperationException - isDisplayChangeSupported が false を返す場合getDisplayMode(),
getDisplayModes(),
isDisplayChangeSupported()public DisplayMode getDisplayMode()
GraphicsDevice の現在の表示モードを返します。返される表示モードのリフレッシュレートが不確定である場合は、リフレッシュレートとして DisplayMode.REFRESH_RATE_UNKNOWN を持つことができます。同様に、返される表示モードのビットの深さが不確定である場合は、ビットの深さとして DisplayMode.BIT_DEPTH_MULTI を持つことができます。
setDisplayMode(DisplayMode)public DisplayMode[] getDisplayModes()
GraphicsDevice で使用できるすべての表示モードを返します。返される表示モードのリフレッシュレートが不確定である場合は、リフレッシュレートとして DisplayMode.REFRESH_RATE_UNKNOWN を持つことができます。同様に、返される表示モードのビットの深さが不確定である場合は、ビットの深さとして DisplayMode.BIT_DEPTH_MULTI を持つことができます。
public int getAvailableAcceleratedMemory()
ImageCapabilities オブジェクト上にさらに照会を行うメソッドがあります。 このメソッドは、高速メモリーに特定の VolatileImage が作成されているかどうかを判定するために使用できます。
Image.flush(),
ImageCapabilities.isAccelerated()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。