JavaTM Platform
Standard Ed. 6

java.awt
クラス GraphicsDevice

java.lang.Object
  上位を拡張 java.awt.GraphicsDevice

public abstract class GraphicsDevice
extends Object

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
 

フィールドの詳細

TYPE_RASTER_SCREEN

public static final int TYPE_RASTER_SCREEN
デバイスはラスタ画面です。

関連項目:
定数フィールド値

TYPE_PRINTER

public static final int TYPE_PRINTER
デバイスはプリンタです。

関連項目:
定数フィールド値

TYPE_IMAGE_BUFFER

public static final int TYPE_IMAGE_BUFFER
デバイスはイメージバッファーです。このバッファーはデバイスまたはシステムメモリーに格納されますが、ユーザーが物理的に表示することはできません。

関連項目:
定数フィールド値
コンストラクタの詳細

GraphicsDevice

protected GraphicsDevice()
これは、インスタンスを直接には生成できない abstract クラスです。インスタンスは、適切なファクトリまたはクエリーメソッドから取得する必要があります。

関連項目:
GraphicsEnvironment.getScreenDevices(), GraphicsEnvironment.getDefaultScreenDevice(), GraphicsConfiguration.getDevice()
メソッドの詳細

getType

public abstract int getType()
この GraphicsDevice の型を返します。

戻り値:
この GraphicsDevice の型。 TYPE_RASTER_SCREEN、TYPE_PRINTER、または TYPE_IMAGE_BUFFER
関連項目:
TYPE_RASTER_SCREEN, TYPE_PRINTER, TYPE_IMAGE_BUFFER

getIDstring

public 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 を表す デフォルトの String

getConfigurations

public abstract GraphicsConfiguration[] getConfigurations()
この GraphicsDevice に関連したすべての GraphicsConfiguration オブジェクトを返します。

戻り値:
この GraphicsDevice に関連付けられている GraphicsConfiguration オブジェクトの 配列

getDefaultConfiguration

public abstract GraphicsConfiguration getDefaultConfiguration()
この GraphicsDevice に関連したデフォルトの GraphicsConfiguration を返します。

戻り値:
この GraphicsDevice の デフォルトの GraphicsConfiguration

getBestConfiguration

public GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplate gct)
有効な GraphicsConfiguration を取得するために使用される GraphicsConfigTemplate オブジェクト

パラメータ:
gct - 有効な GraphicsConfiguration を取得するために使用される GraphicsConfigTemplate オブジェクト
戻り値:
指定された GraphicsConfigTemplate で 定義されている基準を渡すことのできる GraphicsConfiguration
関連項目:
GraphicsConfigTemplate

isFullScreenSupported

public boolean isFullScreenSupported()
この GraphicsDevice がフルスクリーン排他モードをサポートする場合は、true を返します。SecurityManager がインストールされている場合、checkPermission メソッドは AWTPermission("fullScreenExclusive") で呼び出されます。 isFullScreenSupported はそのアクセス権が許可された場合だけ true を返します。

戻り値:
このグラフィックスデバイスでフルスクリーン排他モードが 利用可能かどうか
導入されたバージョン:
1.4
関連項目:
AWTPermission

setFullScreenWindow

public void setFullScreenWindow(Window w)
フルスクリーンモードに入るか、またはウィンドウモードに復帰します。フルスクリーンモードに入ると、排他モードまたはシミュレーションモードになります。排他モードは、isFullScreenSupportedtrue を返す場合にのみ利用できます。  

排他モードでは、次のような状態になります。

シミュレーションフルスクリーンモードでは、ウィンドウのサイズを画面のサイズに変更し、その位置を (0,0) にします。  

フルスクリーンモードに切り替えた際に、フルスクリーンウィンドウとして使用するウィンドウが表示されていない場合、このメソッドはそのウィンドウを表示します。ウィンドウモードに戻っても表示されたままになります。  

フルスクリーン排他ウィンドウからウィンドウモードに復帰すると、setDisplayMode の呼び出しによって行われた表示変更は、元の状態に自動的に復元されます。

パラメータ:
w - フルスクリーンウィンドウとして使用するウィンドウ、 ウィンドウモードに復帰する場合は null。一部のプラットフォームでは、 フルスクリーンウィンドウがトップレベルコンポーネント (つまり、Frame) であることが 期待されるため、ここでは Window よりも Frame を使うほうが 適切である
導入されたバージョン:
1.4
関連項目:
isFullScreenSupported(), getFullScreenWindow(), setDisplayMode(java.awt.DisplayMode), Component.enableInputMethods(boolean), Component.setVisible(boolean)

getFullScreenWindow

public Window getFullScreenWindow()
デバイスがフルスクリーンモードにある場合、フルスクリーンウィンドウを表す Window オブジェクトを返します。

戻り値:
フルスクリーンウィンドウ、デバイスがフルスクリーンモード でない場合は null
導入されたバージョン:
1.4
関連項目:
setFullScreenWindow(Window)

isDisplayChangeSupported

public boolean isDisplayChangeSupported()
この GraphicsDevice が低レベル表示変更をサポートする場合は true を返します。一部のプラットフォームでは、低レベル表示変更は、フルスクリーン排他モードでのみ許可されることがあります。つまり、isFullScreenSupported()true を返し、setFullScreenWindow(java.awt.Window) を使用してアプリケーションがすでにフルスクリーンモードになっている場合です。

戻り値:
このグラフィックスデバイスが低レベル表示変更を サポートするかどうか。
導入されたバージョン:
1.4
関連項目:
isFullScreenSupported(), setDisplayMode(java.awt.DisplayMode), setFullScreenWindow(java.awt.Window)

setDisplayMode

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 - 指定された DisplayModenull の場合、または getDisplayModes で返された配列で 利用できない場合
UnsupportedOperationException - isDisplayChangeSupportedfalse を返す場合
導入されたバージョン:
1.4
関連項目:
getDisplayMode(), getDisplayModes(), isDisplayChangeSupported()

getDisplayMode

public DisplayMode getDisplayMode()
この GraphicsDevice の現在の表示モードを返します。返される表示モードのリフレッシュレートが不確定である場合は、リフレッシュレートとして DisplayMode.REFRESH_RATE_UNKNOWN を持つことができます。同様に、返される表示モードのビットの深さが不確定である場合は、ビットの深さとして DisplayMode.BIT_DEPTH_MULTI を持つことができます。

戻り値:
このグラフィックスデバイスの現在の表示モード
導入されたバージョン:
1.4
関連項目:
setDisplayMode(DisplayMode)

getDisplayModes

public DisplayMode[] getDisplayModes()
この GraphicsDevice で使用できるすべての表示モードを返します。返される表示モードのリフレッシュレートが不確定である場合は、リフレッシュレートとして DisplayMode.REFRESH_RATE_UNKNOWN を持つことができます。同様に、返される表示モードのビットの深さが不確定である場合は、ビットの深さとして DisplayMode.BIT_DEPTH_MULTI を持つことができます。

戻り値:
このグラフィックスデバイスで使用できるすべての表示モード
導入されたバージョン:
1.4

getAvailableAcceleratedMemory

public int getAvailableAcceleratedMemory()
このメソッドは、このデバイスの高速メモリーで使用できるバイト数を返します。一部のイメージは、先着順で作成されるかまたは高速メモリーにキャッシュされます。一部のオペレーティングシステムでは、このメモリーは有限のリソースです。このメソッドを呼び出し、イメージの作成とフラッシュをスケジューリングすることにより、アプリケーションがこの有限のリソースをもっとも効果的に使用できるようになります。
返された値は、使用できるメモリー量のスナップショットです。 一部のイメージは、そのメモリーに割り当てられることで問題が生じる場合があります。たとえば、オペレーティングシステム、ドライバ、メモリー構成、およびスレッドの状況によっては、指定されたイメージに対して報告された全体のサイズが使用できない場合があります。VolatileImage に関連する ImageCapabilities オブジェクト上にさらに照会を行うメソッドがあります。 このメソッドは、高速メモリーに特定の VolatileImage が作成されているかどうかを判定するために使用できます。

戻り値:
高速メモリーで利用可能なバイト数。 負の戻り値は、この GraphicsDevice 上の高速メモリーの量が 不確定であることを示す
導入されたバージョン:
1.4
関連項目:
Image.flush(), ImageCapabilities.isAccelerated()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。