JavaTM 2 Platform
Standard Ed. 5.0

java.awt
クラス Graphics

java.lang.Object
  上位を拡張 java.awt.Graphics
直系の既知のサブクラス:
DebugGraphics, Graphics2D

public abstract class Graphics
extends Object

Graphics クラスは、すべてのグラフィックコンテキストの抽象基底クラスです。グラフィックコンテキストによってアプリケーションは、各種デバイスにより実現されるコンポーネント上やオフスクリーンイメージ上に描画できます。

Graphics オブジェクトは、Java がサポートする基本的な描画操作に必要な状態情報をカプセル化します。この状態情報には、次のプロパティがあります。

座標軸は無限に細く、出力デバイスのピクセル間に存在します。図形の輪郭を描く操作は、ピクセルサイズのペンをピクセル間の無限に細い輪郭線に沿って動かしていくことによって動作します。ペンは、輪郭線のアンカーポイントにぶら下がり、かつ右側に位置しています。図形の内部を埋める操作は、無限に細い輪郭線の内部を埋め込むことにより動作します。水平の文字を描画する操作は、ベースライン座標より上に文字グリフのアセンダ部分をすべて描画します。

グラフィックスペンはその軌道の輪郭線にぶら下がり、かつ右側に位置しています。これは、次のことを示します。

この Graphics のメソッドの引数として使われるすべての座標値は、メソッドの呼び出しの前に、この Graphics オブジェクトの変換元に相対的なものと見なされます。

すべての描画操作は、Shape がユーザ空間に指定し、Graphics オブジェクトを使用してプログラムが制御する現在のクリップに囲まれたエリアにあるピクセルだけを変更します。この「ユーザクリップ」はデバイス空間に変換され、ウィンドウの可視およびデバイスの大きさによって定義される「デバイスクリップ」と結合されます。ユーザクリップとデバイスクリップの結合は、最終的なクリッピング領域を決める「複合クリップ」を定義します。描画システムは、ユーザクリップを変更して複合クリップの結果を反映することはできません。ユーザクリップは setClip または clipRect メソッドだけで変更できます。すべての描画や書き込みは、現在の色で、現在のペイントモードとフォントを使用して行われます。

導入されたバージョン:
JDK1.0
関連項目:
Component, clipRect(int, int, int, int), setColor(java.awt.Color), setPaintMode(), setXORMode(java.awt.Color), setFont(java.awt.Font)

コンストラクタの概要
protected Graphics()
          新しい Graphics オブジェクトを作成します。
 
メソッドの概要
abstract  void clearRect(int x, int y, int width, int height)
          指定された矩形を、現在の描画表面のバックグラウンドカラーで塗りつぶすことによりクリアします。
abstract  void clipRect(int x, int y, int width, int height)
          現在のクリップと指定された矩形を交差させます。
abstract  void copyArea(int x, int y, int width, int height, int dx, int dy)
          コンポーネントの領域を、dxdy で指定された距離でコピーします。
abstract  Graphics create()
          この Graphics オブジェクトのコピーである、新しい Graphics オブジェクトを作成します。
 Graphics create(int x, int y, int width, int height)
          この Graphics オブジェクトに基づいた新しい Graphics オブジェクトを、新しい変換およびクリップ領域で作成します。
abstract  void dispose()
          このグラフィックスコンテキストを破棄して、使用中のシステムリソースがあればそれを解放します。
 void draw3DRect(int x, int y, int width, int height, boolean raised)
          指定された矩形の輪郭を 3D で強調表示して描画します。
abstract  void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          指定された矩形をカバーする円弧または楕円弧の輪郭を描きます。
 void drawBytes(byte[] data, int offset, int length, int x, int y)
          このグラフィックスコンテキストの現在のフォントと色を使い、指定されたバイト配列によって指定されたテキストを描きます。
 void drawChars(char[] data, int offset, int length, int x, int y)
          このグラフィックスコンテキストの現在のフォントと色を使い、指定された文字配列によって指定されたテキストを描きます。
abstract  boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
          指定されたイメージの現在利用可能な部分だけを描きます。
abstract  boolean drawImage(Image img, int x, int y, ImageObserver observer)
          指定されたイメージの現在利用可能な部分を描きます。
abstract  boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
          指定された矩形の内部に収まるようにスケーリングして、指定されたイメージの利用可能な部分を描きます。
abstract  boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
          指定された矩形の内部に収まるようにスケーリングして、指定されたイメージの利用可能な部分を描きます。
abstract  boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
          指定されたイメージの指定された領域の利用可能な部分を描きます。
abstract  boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
          指定されたイメージの指定された領域の利用可能な部分を描きます。
abstract  void drawLine(int x1, int y1, int x2, int y2)
          このグラフィックスコンテキストの座標系の点 (x1, y1) と点 (x2, y2) との間に現在の色を使って線を描きます。
abstract  void drawOval(int x, int y, int width, int height)
          楕円の輪郭を描きます。
abstract  void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
          x 座標と y 座標の配列で定義された閉じた多角形を描きます。
 void drawPolygon(Polygon p)
          指定された Polygon オブジェクトによって定義される多角形の輪郭を描きます。
abstract  void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
          x 座標と y 座標の配列で定義され連続的につながった直線を描きます。
 void drawRect(int x, int y, int width, int height)
          指定された矩形の輪郭を描きます。
abstract  void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          丸いコーナー付きの輪郭の矩形を、このグラフィックスコンテキストの現在の色を使用して描きます。
abstract  void drawString(AttributedCharacterIterator iterator, int x, int y)
          このグラフィックスコンテキストの現在の色を使い、指定された反復子によって指定されたテキストを描きます。
abstract  void drawString(String str, int x, int y)
          このグラフィックスコンテキストの現在のフォントと色を使い、指定された文字列によって指定されたテキストを描きます。
 void fill3DRect(int x, int y, int width, int height, boolean raised)
          現在の色で強調表示された 3 次元矩形を塗りつぶします。
abstract  void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          指定された矩形をカバーする円弧または楕円弧を塗りつぶします。
abstract  void fillOval(int x, int y, int width, int height)
          指定された矩形の中の楕円形を現在の色で塗りつぶします。
abstract  void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
          x 座標と y 座標の配列で定義される閉じた多角形を塗りつぶします。
 void fillPolygon(Polygon p)
          指定された Polygon オブジェクトで定義された多角形をグラフィックスコンテキストの現在の色で塗りつぶします。
abstract  void fillRect(int x, int y, int width, int height)
          指定された矩形を塗りつぶします。
abstract  void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          指定された丸いコーナー付きの矩形を現在の色で塗りつぶします。
 void finalize()
          参照されなくなった、このグラフィックスコンテキストを破棄します。
abstract  Shape getClip()
          現在のクリッピング領域を返します。
abstract  Rectangle getClipBounds()
          現在のクリッピング領域の境界の矩形を返します。
 Rectangle getClipBounds(Rectangle r)
          現在のクリッピング領域の境界の矩形を返します。
 Rectangle getClipRect()
          推奨されていません。 JDK バージョン 1.1 以降は、getClipBounds() に置き換えられました。
abstract  Color getColor()
          このグラフィックスコンテキストの現在の色を返します。
abstract  Font getFont()
          現在のフォントを返します。
 FontMetrics getFontMetrics()
          現在のフォントのフォントメトリックを返します。
abstract  FontMetrics getFontMetrics(Font f)
          指定されたフォントのフォントメトリックを返します。
 boolean hitClip(int x, int y, int width, int height)
          指定された矩形領域が現在のクリッピング領域と交差する場合は true を返します。
abstract  void setClip(int x, int y, int width, int height)
          指定した座標が指定した矩形に現在のクリップを設定します。
abstract  void setClip(Shape clip)
          現在のクリッピング領域を任意のクリップ形状に設定します。
abstract  void setColor(Color c)
          このグラフィックスコンテキストの現在の色を、指定された色に設定します。
abstract  void setFont(Font font)
          このグラフィックスコンテキストのフォントを、指定されたフォントに設定します。
abstract  void setPaintMode()
          このグラフィックスコンテキストの現在の色でデスティネーションを上書きするように、ペイントモードを設定します。
abstract  void setXORMode(Color c1)
          このグラフィックスコンテキストの現在の色と新しく指定された色を切り替えるように、グラフィックスコンテキストのペイントモードを設定します。
 String toString()
          この Graphics オブジェクトの値を表現している、String オブジェクトを返します。
abstract  void translate(int x, int y)
          グラフィックスコンテキストの原点を現在の座標系の点 (xy) に変換します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Graphics

protected Graphics()
新しい Graphics オブジェクトを作成します。このコンストラクタは、グラフィックスコンテキストのデフォルトコンストラクタです。

Graphics は abstract クラスなので、アプリケーションはこのコンストラクタを直接呼び出すことはできません。グラフィックスコンテキストは、ほかのグラフィックスコンテキストから取得されるか、コンポーネントで getGraphics を呼び出すことによって作成されます。

関連項目:
create(), Component.getGraphics()
メソッドの詳細

create

public abstract Graphics create()
この Graphics オブジェクトのコピーである、新しい Graphics オブジェクトを作成します。

戻り値:
このグラフィックスコンテキストのコピーである、新しいグラフィックスコンテキスト

create

public Graphics create(int x,
                       int y,
                       int width,
                       int height)
この Graphics オブジェクトに基づいた新しい Graphics オブジェクトを、新しい変換およびクリップ領域で作成します。新しい Graphics オブジェクトはその原点を、指定された点 (xy) に変換させます。そのクリップ領域は、元のクリップ領域と指定された矩形との共通部分で指定されます。引数はすべて、元の Graphics オブジェクトの座標系に変換されます。新しいグラフィックスコンテキストは、次の 2 点以外については元のグラフィックスコンテキストと同じです。

パラメータ:
x - x 座標
y - y 座標
width - クリッピング矩形の幅
height - クリッピング矩形の高さ
戻り値:
新しいグラフィックスコンテキスト
関連項目:
translate(int, int), clipRect(int, int, int, int)

translate

public abstract void translate(int x,
                               int y)
グラフィックスコンテキストの原点を現在の座標系の点 (xy) に変換します。このグラフィックスコンテキストを、新しい原点がこのグラフィックスコンテキストの元の座標系の点 (xy) に一致するように変更します。このグラフィックスコンテキストに行われた、これ以降の描画操作に使用される座標はすべてこの原点に相対的な値となります。

パラメータ:
x - x 座標
y - y 座標

getColor

public abstract Color getColor()
このグラフィックスコンテキストの現在の色を返します。

戻り値:
このグラフィックスコンテキストの現在の色
関連項目:
Color, setColor(Color)

setColor

public abstract void setColor(Color c)
このグラフィックスコンテキストの現在の色を、指定された色に設定します。このグラフィックスコンテキストを使うこれ以降のグラフィック関連操作は、ここで指定された色を使用します。

パラメータ:
c - 新しい描画色
関連項目:
Color, getColor()

setPaintMode

public abstract void setPaintMode()
このグラフィックスコンテキストの現在の色でデスティネーションを上書きするように、ペイントモードを設定します。これは、論理ピクセル操作機能をペイントモード、つまり上書きモードに設定します。これ以降の描画操作は、デスティネーションを現在の色で上書きします。


setXORMode

public abstract void setXORMode(Color c1)
このグラフィックスコンテキストの現在の色と新しく指定された色を切り替えるように、グラフィックスコンテキストのペイントモードを設定します。これは、論理ピクセル操作を XOR モードで実行するように指定します。XOR モードでは、ピクセルは現在の色と指定された XOR 交代色の間を交互に切り替わります。

描画操作を実行すると、現在の色のピクセルが指定された色に切り替わり、その逆も当てはまります。

ここで取り上げられた 2 色以外の色を持つピクセルは予想できない色に変化しますが、それらは元に戻せるようになっています。同じ図を 2 回描画すれば、すべてのピクセルは初期の設定色に戻ります。

パラメータ:
c1 - XOR の交代色

getFont

public abstract Font getFont()
現在のフォントを返します。

戻り値:
このグラフィックスコンテキストの現在のフォント
関連項目:
Font, setFont(Font)

setFont

public abstract void setFont(Font font)
このグラフィックスコンテキストのフォントを、指定されたフォントに設定します。このグラフィックスコンテキストを使用する、これ以降のテキスト描画操作は、このフォントを使用します。

パラメータ:
font - フォント
関連項目:
getFont(), drawString(java.lang.String, int, int), drawBytes(byte[], int, int, int, int), drawChars(char[], int, int, int, int)

getFontMetrics

public FontMetrics getFontMetrics()
現在のフォントのフォントメトリックを返します。

戻り値:
このグラフィックスコンテキストの現在のフォントのフォントメトリックス
関連項目:
getFont(), FontMetrics, getFontMetrics(Font)

getFontMetrics

public abstract FontMetrics getFontMetrics(Font f)
指定されたフォントのフォントメトリックを返します。

パラメータ:
f - 指定されたフォント
戻り値:
指定されたフォントのフォントメトリックス
関連項目:
getFont(), FontMetrics, getFontMetrics()

getClipBounds

public abstract Rectangle getClipBounds()
現在のクリッピング領域の境界の矩形を返します。このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザクリップを参照します。クリップが設定されていない場合、またはクリップが setClip(null) を使用してクリアされている場合は、このメソッドは null を返します。矩形内の座標はこのグラフィックスコンテキストの座標系の原点を基準にしています。

戻り値:
現在のクリッピング領域の境界の矩形。クリップが設定されていない場合は、null
導入されたバージョン:
JDK1.1
関連項目:
getClip(), clipRect(int, int, int, int), setClip(int, int, int, int), setClip(Shape)

clipRect

public abstract void clipRect(int x,
                              int y,
                              int width,
                              int height)
現在のクリップと指定された矩形を交差させます。結果がクリップされる領域は現在のクリッピング領域と指定した矩形の交差部分です。クリップが設定されたことがないか、またはクリップが setClip(null) を使用してクリアされたため現在のクリッピング領域がない場合は、指定した矩形が新しいクリップとなります。このメソッドで、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザクリップを設定します。このメソッドは現在のクリップを小さくする場合に限り使用できます。現在のクリップを大きくするには、任意の setClip メソッドを使用します。クリッピング領域外で描画操作を行なっても効果はありません。

パラメータ:
x - 交差してクリップする矩形の x 座標
y - 交差してクリップする矩形の y 座標
width - 交差してクリップする矩形の幅
height - 交差してクリップする矩形の高さ
関連項目:
setClip(int, int, int, int), setClip(Shape)

setClip

public abstract void setClip(int x,
                             int y,
                             int width,
                             int height)
指定した座標が指定した矩形に現在のクリップを設定します。このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングに依存しないユーザクリップを設定します。クリッピング領域外で描画操作を行なっても効果はありません。

パラメータ:
x - 新しいクリップ矩形の x 座標
y - 新しいクリップ矩形の y 座標
width - 新しいクリップ矩形の幅
height - 新しいクリップ矩形の高さ
導入されたバージョン:
JDK1.1
関連項目:
clipRect(int, int, int, int), setClip(Shape), getClip()

getClip

public abstract Shape getClip()
現在のクリッピング領域を返します。このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザクリップを返します。クリップが設定されていない場合、またはクリップが setClip(null) を使用してクリアされている場合は、このメソッドは null を返します。

戻り値:
現在のクリッピング領域を表す Shape オブジェクト。クリップが設定されていない場合は、null
導入されたバージョン:
JDK1.1
関連項目:
getClipBounds(), clipRect(int, int, int, int), setClip(int, int, int, int), setClip(Shape)

setClip

public abstract void setClip(Shape clip)
現在のクリッピング領域を任意のクリップ形状に設定します。クリップを設定するために、Shape インタフェースを実装するすべてのオブジェクトを使えるわけではありません。サポートが保証されている唯一の Shape オブジェクトは、getClip メソッドを使うか Rectangle オブジェクトを使って取得される Shape オブジェクトだけです。このメソッドは、デバイス境界やウィンドウ可視に関連したクリックピングに依存しないユーザクリップを設定します。

パラメータ:
clip - クリップ設定に使用する Shape
導入されたバージョン:
JDK1.1
関連項目:
getClip(), clipRect(int, int, int, int), setClip(int, int, int, int)

copyArea

public abstract void copyArea(int x,
                              int y,
                              int width,
                              int height,
                              int dx,
                              int dy)
コンポーネントの領域を、dxdy で指定された距離でコピーします。このメソッドは xy で指定された点から、コンポーネントの下方向および右方向の領域をコピーします。コンポーネントの左方向および上方向の領域をコピーするには、dxdy に負の値を指定します。ソースの矩形のある部分がコンポーネントの境界外にある場合や別のコンポーネントやウィンドウで隠されている場合は、copyArea は対応しているピクセルをコピーできません。隠された領域は、そのコンポーネントの paint メソッドを呼び出すことにより再描画されます。

パラメータ:
x - ソース矩形の x 座標
y - ソース矩形の y 座標
width - ソース矩形の幅
height - ソース矩形の高さ
dx - ピクセルをコピーする水平距離
dy - ピクセルをコピーする垂直距離

drawLine

public abstract void drawLine(int x1,
                              int y1,
                              int x2,
                              int y2)
このグラフィックスコンテキストの座標系の点 (x1, y1) と点 (x2, y2) との間に現在の色を使って線を描きます。

パラメータ:
x1 - 最初の点の x 座標
y1 - 最初の点の y 座標
x2 - 2 番目の点の x 座標
y2 - 2 番目の点の y 座標

fillRect

public abstract void fillRect(int x,
                              int y,
                              int width,
                              int height)
指定された矩形を塗りつぶします。矩形の左端と右端はそれぞれ xx + width - 1 で、上端と下端はそれぞれ yy + height - 1 です。これで指定される矩形は、幅 width ピクセル、高さ height ピクセルの領域です。矩形は、グラフィックスコンテキストの現在の色を使って塗りつぶされます。

パラメータ:
x - 塗りつぶされる矩形の x 座標
y - 塗りつぶされる矩形の y 座標
width - 塗りつぶされる矩形の幅
height - 塗りつぶされる矩形の高さ
関連項目:
clearRect(int, int, int, int), drawRect(int, int, int, int)

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
指定された矩形の輪郭を描きます。矩形は、左端と右端がそれぞれ xx + width、上端と下端がそれぞれ yy + height で指定されます。矩形は、グラフィックスコンテキストの現在の色を使って描画されます。

パラメータ:
x - 描画される矩形の x 座標
y - 描画される矩形の y 座標
width - 描画される矩形の幅
height - 描画される矩形の高さ
関連項目:
fillRect(int, int, int, int), clearRect(int, int, int, int)

clearRect

public abstract void clearRect(int x,
                               int y,
                               int width,
                               int height)
指定された矩形を、現在の描画表面のバックグラウンドカラーで塗りつぶすことによりクリアします。この操作は、現在のペイントモードを使いません。

Java 1.1 以降は、オフスクリーンのイメージのバックグラウンドカラーはシステムにより異なります。アプリケーションは setColor に続けて fillRect を使うことによって、オフスクリーンイメージをクリアして特定の色にすることを保証します。

パラメータ:
x - クリア対象の矩形の x 座標
y - クリア対象の矩形の y 座標
width - クリア対象の矩形の幅
height - クリア対象の矩形の高さ
関連項目:
fillRect(int, int, int, int), drawRect(int, int, int, int), setColor(java.awt.Color), setPaintMode(), setXORMode(java.awt.Color)

drawRoundRect

public abstract void drawRoundRect(int x,
                                   int y,
                                   int width,
                                   int height,
                                   int arcWidth,
                                   int arcHeight)
丸いコーナー付きの輪郭の矩形を、このグラフィックスコンテキストの現在の色を使用して描きます。描かれる矩形は、左端と右端がそれぞれ xx + width、上端と下端がそれぞれ yy + height で指定されます。

パラメータ:
x - 描画される矩形の x 座標
y - 描画される矩形の y 座標
width - 描画される矩形の幅
height - 描画される矩形の高さ
arcWidth - 4 隅の弧の水平方向の直径
arcHeight - 4 隅の弧の垂直方向の直径
関連項目:
fillRoundRect(int, int, int, int, int, int)

fillRoundRect

public abstract void fillRoundRect(int x,
                                   int y,
                                   int width,
                                   int height,
                                   int arcWidth,
                                   int arcHeight)
指定された丸いコーナー付きの矩形を現在の色で塗りつぶします。矩形は、左端と右端がそれぞれ xx + width - 1、上端と下端がそれぞれ yy + height - 1 で指定されます。

パラメータ:
x - 塗りつぶされる矩形の x 座標
y - 塗りつぶされる矩形の y 座標
width - 塗りつぶされる矩形の幅
height - 塗りつぶされる矩形の高さ
arcWidth - 4 隅の弧の水平方向の直径
arcHeight - 4 隅の弧の垂直方向の直径
関連項目:
drawRoundRect(int, int, int, int, int, int)

draw3DRect

public void draw3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
指定された矩形の輪郭を 3D で強調表示して描画します。矩形の端は、傾斜し、左上隅から光を当てたように強調表示されます。

強調表示効果に使用される色は現在の色から決定されます。結果として描かれる矩形は、幅のピクセル数が width + 1、高さのピクセル数が height + 1 の領域をカバーします。

パラメータ:
x - 描画される矩形の x 座標
y - 描画される矩形の y 座標
width - 描画される矩形の幅
height - 描画される矩形の高さ
raised - 矩形が表面から浮き出たように見えるか、表面に彫り込まれたように見えるかを指定する boolean 値
関連項目:
fill3DRect(int, int, int, int, boolean)

fill3DRect

public void fill3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
現在の色で強調表示された 3 次元矩形を塗りつぶします。矩形の端は傾斜が付けられ左上隅から光を当てられたように強調表示されます。強調表示効果に使用される色は現在の色から決定されます。

パラメータ:
x - 塗りつぶされる矩形の x 座標
y - 塗りつぶされる矩形の y 座標
width - 塗りつぶされる矩形の幅
height - 塗りつぶされる矩形の高さ
raised - 矩形が表面から浮き出たように見えるか、表面に彫り込まれたように見えるかを指定する boolean 値
関連項目:
draw3DRect(int, int, int, int, boolean)

drawOval

public abstract void drawOval(int x,
                              int y,
                              int width,
                              int height)
楕円の輪郭を描きます。引数の xywidthheight で指定される矩形内に収まる円または楕円が描かれます。

楕円は、幅 width + 1 ピクセル、高さ height + 1 ピクセルの領域をカバーします。

パラメータ:
x - 描画される楕円の左上隅の x 座標
y - 描画される楕円の左上隅の y 座標
width - 描画される楕円の幅
height - 描画される楕円の高さ
関連項目:
fillOval(int, int, int, int)

fillOval

public abstract void fillOval(int x,
                              int y,
                              int width,
                              int height)
指定された矩形の中の楕円形を現在の色で塗りつぶします。

パラメータ:
x - 描画される楕円の左上隅の x 座標
y - 描画される楕円の左上隅の y 座標
width - 塗りつぶされる楕円の幅
height - 塗りつぶされる楕円の高さ
関連項目:
drawOval(int, int, int, int)

drawArc

public abstract void drawArc(int x,
                             int y,
                             int width,
                             int height,
                             int startAngle,
                             int arcAngle)
指定された矩形をカバーする円弧または楕円弧の輪郭を描きます。

startAngle から始まって arcAngle の角度で展開された弧が、現在の色を使って描かれます。角度は 3 時の位置を 0 度として変換され、正の値は反時計方向、負の値は時計方向の回転を示します。

弧の中心は、原点が (xy) で、サイズが width 引数と height 引数で指定される矩形の中心となります。

描かれる弧は、幅 width + 1 ピクセル、高さ height + 1 ピクセルの領域をカバーします。

角度の大きさは、直角でない境界の矩形を基準に指定して、楕円の中心から境界の矩形の右上隅までを結ぶ線が常に 45 度になるようにします。境界の矩形の軸の長さがかなり違う場合には、弧セグメントの開始角度と終了角度は境界の長軸にそってさらに傾斜します。

パラメータ:
x - 描画される孤の左上隅の x 座標
y - 描画される孤の左上隅の y 座標
width - 描画される孤の幅
height - 描画される孤の高さ
startAngle - 開始角度
arcAngle - 開始角度に対する弧の展開角度の大きさ
関連項目:
fillArc(int, int, int, int, int, int)

fillArc

public abstract void fillArc(int x,
                             int y,
                             int width,
                             int height,
                             int startAngle,
                             int arcAngle)
指定された矩形をカバーする円弧または楕円弧を塗りつぶします。

startAngle から始まって arcAngle の角度で展開された弧が描かれます。角度は 3 時の位置を 0 度として変換され、正の値は反時計方向、負の値は時計方向の回転を示します。

弧の中心は、原点が (xy) で、サイズが width 引数と height 引数で指定される矩形の中心となります。

描かれる弧は、幅 width + 1 ピクセル、高さ height + 1 ピクセルの領域をカバーします。

角度の大きさは、直角でない境界の矩形を基準に指定して、楕円の中心から境界の矩形の右上隅までを結ぶ線が常に 45 度になるようにします。境界の矩形の軸の長さがかなり違う場合には、弧セグメントの開始角度と終了角度は境界の長軸にそってさらに傾斜します。

パラメータ:
x - 塗りつぶされる孤の左上隅の x 座標
y - 塗りつぶされる孤の左上隅の y 座標
width - 塗りつぶされる孤の幅
height - 塗りつぶされる孤の高さ
startAngle - 開始角度
arcAngle - 開始角度に対する弧の展開角度の大きさ
関連項目:
drawArc(int, int, int, int, int, int)

drawPolyline

public abstract void drawPolyline(int[] xPoints,
                                  int[] yPoints,
                                  int nPoints)
x 座標と y 座標の配列で定義され連続的につながった直線を描きます。座標 (xy) の各ペアは点を定義します。最初の座標と最後の座標が一致しない場合、図形は閉じません。

パラメータ:
xPoints - x 点の配列
yPoints - y 点の配列
nPoints - 点の総数
導入されたバージョン:
JDK1.1
関連項目:
drawPolygon(int[], int[], int)

drawPolygon

public abstract void drawPolygon(int[] xPoints,
                                 int[] yPoints,
                                 int nPoints)
x 座標と y 座標の配列で定義された閉じた多角形を描きます。座標 (xy) の各ペアは点を定義します。

このメソッドは、nPoint ラインセグメントによって定義される多角形を描きます。この場合、最初の nPoint - 1 ラインセグメントは、1  ≤ i ≤ nPoints に対する、(xPoints[i - 1], yPoints[i - 1]) から (xPoints[i], yPoints[i]) までのラインセグメントです。最後の点と最初の点が一致しない場合、それらを接続するラインを描画すれば図は自動的に閉じます。

パラメータ:
xPoints - x 座標の配列
yPoints - y 座標の配列
nPoints - 点の総数
関連項目:
fillPolygon(int[], int[], int), drawPolyline(int[], int[], int)

drawPolygon

public void drawPolygon(Polygon p)
指定された Polygon オブジェクトによって定義される多角形の輪郭を描きます。

パラメータ:
p - 描画対象の多角形
関連項目:
fillPolygon(int[], int[], int), drawPolyline(int[], int[], int)

fillPolygon

public abstract void fillPolygon(int[] xPoints,
                                 int[] yPoints,
                                 int nPoints)
x 座標と y 座標の配列で定義される閉じた多角形を塗りつぶします。

このメソッドは、nPoint ラインセグメントによって定義される多角形を描きます。この場合、最初の nPoint - 1 ラインセグメントは、1  ≤ i ≤ nPoints に対する、(xPoints[i - 1], yPoints[i - 1]) から (xPoints[i], yPoints[i]) までのラインセグメントです。最後の点と最初の点が一致しない場合、それらを接続するラインを描画すれば図は自動的に閉じます。

多角形内の領域は、偶奇塗りつぶし規則 (交互規則ともいう) を使って定義されます。

パラメータ:
xPoints - x 座標の配列
yPoints - y 座標の配列
nPoints - 点の総数
関連項目:
drawPolygon(int[], int[], int)

fillPolygon

public void fillPolygon(Polygon p)
指定された Polygon オブジェクトで定義された多角形をグラフィックスコンテキストの現在の色で塗りつぶします。

多角形内の領域は、偶奇塗りつぶし規則 (交互規則ともいう) を使って定義されます。

パラメータ:
p - 塗りつぶし対象の多角形
関連項目:
drawPolygon(int[], int[], int)

drawString

public abstract void drawString(String str,
                                int x,
                                int y)
このグラフィックスコンテキストの現在のフォントと色を使い、指定された文字列によって指定されたテキストを描きます。左端の文字のベースラインは、このグラフィックスコンテキストの座標系の位置 (xy) にあります。

パラメータ:
str - 描画される文字列
x - x 座標
y - y 座標
関連項目:
drawBytes(byte[], int, int, int, int), drawChars(char[], int, int, int, int)

drawString

public abstract void drawString(AttributedCharacterIterator iterator,
                                int x,
                                int y)
このグラフィックスコンテキストの現在の色を使い、指定された反復子によって指定されたテキストを描きます。反復子は各文字のフォントを指定する必要があります。左端の文字のベースラインは、このグラフィックスコンテキストの座標系の位置 (xy) にあります。

パラメータ:
iterator - 描画されるテキストを持つ反復子
x - x 座標
y - y 座標
関連項目:
drawBytes(byte[], int, int, int, int), drawChars(char[], int, int, int, int)

drawChars

public void drawChars(char[] data,
                      int offset,
                      int length,
                      int x,
                      int y)
このグラフィックスコンテキストの現在のフォントと色を使い、指定された文字配列によって指定されたテキストを描きます。最初の文字のベースラインは、このグラフィックスコンテキストの座標系の位置 (xy) にあります。

パラメータ:
data - 描画される文字の配列
offset - データの開始オフセット
length - 描画される文字数
x - テキストのベースラインの x 座標
y - テキストのベースラインの y 座標
関連項目:
drawBytes(byte[], int, int, int, int), drawString(java.lang.String, int, int)

drawBytes

public void drawBytes(byte[] data,
                      int offset,
                      int length,
                      int x,
                      int y)
このグラフィックスコンテキストの現在のフォントと色を使い、指定されたバイト配列によって指定されたテキストを描きます。最初の文字のベースラインは、このグラフィックスコンテキストの座標系の位置 (xy) にあります。

パラメータ:
data - 描画されるデータ
offset - データの開始オフセット
length - 描画されるバイト数
x - テキストのベースラインの x 座標
y - テキストのベースラインの y 座標
関連項目:
drawChars(char[], int, int, int, int), drawString(java.lang.String, int, int)

drawImage

public abstract boolean drawImage(Image img,
                                  int x,
                                  int y,
                                  ImageObserver observer)
指定されたイメージの現在利用可能な部分を描きます。イメージは、このグラフィックスコンテキストの座標空間の (xy) にその左上隅を合わせて描かれます。イメージ内の透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。

完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。

イメージが完全にロードされ、ピクセルが変更されなくなった場合、drawImagetrue を返します。イメージが完全にロードされていない場合、drawImagefalse を返し、イメージのさらに多くの部分が利用可能になるか、アニメーションの別のフレームに描画され、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。

パラメータ:
img - 描画される指定イメージ。img が null の場合には何も行わない
x - x 座標
y - y 座標
observer - イメージがさらに変換されることが通知されるオブジェクト
戻り値:
イメージピクセルがまだ変更中の場合は false、そうでない場合は true
関連項目:
Image, ImageObserver, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img,
                                  int x,
                                  int y,
                                  int width,
                                  int height,
                                  ImageObserver observer)
指定された矩形の内部に収まるようにスケーリングして、指定されたイメージの利用可能な部分を描きます。

イメージは、このグラフィックスコンテキストの座標空間の指定された矩形内に描画され、必要に応じてスケーリングされます。透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。

このメソッドは、イメージ全体が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。現在の出力表現がまだ完全でない場合、drawImagefalse を返します。より多くのイメージが利用可能になると、イメージをロードするプロセスが、その imageUpdate メソッドを呼び出すことによってイメージオブザーバに通知します。

スケーリングしていないイメージをこの出力デバイス用に構築しているという理由だけで、スケーリングしたイメージをただちに使用できるとはかぎりません。イメージはサイズごとに個別にキャッシュされ、元のデータから別のイメージ作成シーケンスによって生成されることもあるからです。

パラメータ:
img - 描画される指定イメージ。img が null の場合には何も行わない
x - x 座標
y - y 座標
width - 矩形の幅
height - 矩形の高さ
observer - イメージがさらに変換されることが通知されるオブジェクト
戻り値:
イメージピクセルがまだ変更中の場合は false、そうでない場合は true
関連項目:
Image, ImageObserver, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img,
                                  int x,
                                  int y,
                                  Color bgcolor,
                                  ImageObserver observer)
指定されたイメージの現在利用可能な部分だけを描きます。イメージは、このグラフィックスコンテキストの座標空間の (xy) にその左上隅を合わせて描画されます。透明ピクセルは、指定されたバックグラウンドカラーで描かれます。

この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。

完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。

イメージが完全にロードされ、ピクセルが変更されなくなった場合、drawImagetrue を返します。イメージが完全にロードされていない場合、drawImagefalse を返し、イメージのさらに多くの部分が利用可能になるか、アニメーションの別のフレームに描画され、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。

パラメータ:
img - 描画される指定イメージ。img が null の場合には何も行わない
x - x 座標
y - y 座標
bgcolor - イメージの不透明でない部分の下に塗られるバックグラウンドカラー
observer - イメージがさらに変換されることが通知されるオブジェクト
戻り値:
イメージピクセルがまだ変更中の場合は false、そうでない場合は true
関連項目:
Image, ImageObserver, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img,
                                  int x,
                                  int y,
                                  int width,
                                  int height,
                                  Color bgcolor,
                                  ImageObserver observer)
指定された矩形の内部に収まるようにスケーリングして、指定されたイメージの利用可能な部分を描きます。

イメージは、このグラフィックスコンテキストの座標空間の指定された矩形内に描画され、必要に応じてスケーリングされます。透明ピクセルは、指定されたバックグラウンドカラーで描画されます。この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。

このメソッドは、イメージ全体が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。現在の出力表現がまだ完全でない場合、drawImagefalse を返します。より多くのイメージが利用可能になると、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。

スケーリングしていないイメージをこの出力デバイス用に構築しているという理由だけで、スケーリングしたイメージをただちに使用できるとはかぎりません。イメージはサイズごとに個別にキャッシュされ、元のデータから別のイメージ作成シーケンスによって生成されることもあるからです。

パラメータ:
img - 描画される指定イメージ。img が null の場合には何も行わない
x - x 座標
y - y 座標
width - 矩形の幅
height - 矩形の高さ
bgcolor - イメージの不透明でない部分の下に塗られるバックグラウンドカラー
observer - イメージがさらに変換されることが通知されるオブジェクト
戻り値:
イメージピクセルがまだ変更中の場合は false、そうでない場合は true
関連項目:
Image, ImageObserver, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img,
                                  int dx1,
                                  int dy1,
                                  int dx2,
                                  int dy2,
                                  int sx1,
                                  int sy1,
                                  int sx2,
                                  int sy2,
                                  ImageObserver observer)
指定されたイメージの指定された領域の利用可能な部分を描きます。指定された領域の内部に収まるようにただちにスケーリングされ描かれます。透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。

このメソッドは、描画されるイメージ領域が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。現在の出力表現がまだ完全でない場合、drawImagefalse を返します。より多くのイメージが利用可能になると、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。

このメソッドは常にスケーリングされていないイメージを使って、スケーリングされた矩形を描いて、必要なスケーリングをただちに実行します。これはこの操作に対しては、キャッシュされたスケーリング済みのイメージを使用しません。ソース矩形の最初の座標をデスティネーション矩形の最初の座標に、ソースの 2 番目の座標をデスティネーションの 2 番目の座標にといった対応でマッピングして、ソースからデスティネーションへのイメージのスケーリングを実行します。サブイメージは、その割り当てを維持する必要性に応じ、スケーリングされ反転されます。

パラメータ:
img - 描画される指定イメージ。img が null の場合には何も行わない
dx1 - デスティネーション矩形の最初の隅の x 座標
dy1 - デスティネーション矩形の最初の隅の y 座標
dx2 - デスティネーション矩形の 2 番目の隅の x 座標
dy2 - デスティネーション矩形の 2 番目の隅の y 座標
sx1 - ソース矩形の最初の隅の x 座標
sy1 - ソース矩形の最初の隅の y 座標
sx2 - ソース矩形の 2 番目の隅の x 座標
sy2 - ソース矩形の 2 番目の隅の y 座標
observer - イメージがさらにスケーリングされ、変換されることを通知するオブジェクト
戻り値:
イメージピクセルがまだ変更中の場合は false、そうでない場合は true
導入されたバージョン:
JDK1.1
関連項目:
Image, ImageObserver, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img,
                                  int dx1,
                                  int dy1,
                                  int dx2,
                                  int dy2,
                                  int sx1,
                                  int sy1,
                                  int sx2,
                                  int sy2,
                                  Color bgcolor,
                                  ImageObserver observer)
指定されたイメージの指定された領域の利用可能な部分を描きます。指定された領域の内部に収まるようにただちにスケーリングして描きます。

透明ピクセルは指定されたバックグラウンドカラーで描画されます。この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。

このメソッドは、描画されるイメージ領域が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。現在の出力表現がまだ完全でない場合、drawImagefalse を返します。より多くのイメージが利用可能になると、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。

このメソッドは常にスケーリングされていないイメージを使って、スケーリングされた矩形を描いて、必要なスケーリングをただちに実行します。これはこの操作に対しては、キャッシュされたスケーリング済みのイメージを使用しません。ソース矩形の最初の座標をデスティネーション矩形の最初の座標に、ソースの 2 番目の座標をデスティネーションの 2 番目の座標にといった対応でマッピングして、ソースからデスティネーションへのイメージのスケーリングを実行します。サブイメージは、その割り当てを維持する必要性に応じ、スケーリングされ反転されます。

パラメータ:
img - 描画される指定イメージ。img が null の場合には何も行わない
dx1 - デスティネーション矩形の最初の隅の x 座標
dy1 - デスティネーション矩形の最初の隅の y 座標
dx2 - デスティネーション矩形の 2 番目の隅の x 座標
dy2 - デスティネーション矩形の 2 番目の隅の y 座標
sx1 - ソース矩形の最初の隅の x 座標
sy1 - ソース矩形の最初の隅の y 座標
sx2 - ソース矩形の 2 番目の隅の x 座標
sy2 - ソース矩形の 2 番目の隅の y 座標
bgcolor - イメージの不透明でない部分の下に塗られるバックグラウンドカラー
observer - イメージがさらにスケーリングされ、変換されることを通知するオブジェクト
戻り値:
イメージピクセルがまだ変更中の場合は false、そうでない場合は true
導入されたバージョン:
JDK1.1
関連項目:
Image, ImageObserver, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

dispose

public abstract void dispose()
このグラフィックスコンテキストを破棄して、使用中のシステムリソースがあればそれを解放します。Graphics オブジェクトを dispose の呼び出し後に使用することはできません。

Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。ガベージコレクタのファイナライズプロセスも同じシステムリソースを破棄しますが、関連するリソースを手動で解放することが推奨されます。つまり、長期間に渡って完了まで実行されない可能性があるファイナライズプロセスに依存するよりも、このメソッドを呼び出してリソースを手動で解放してください。

コンポーネントの paint メソッドと update メソッドに引数として提供される Graphics オブジェクトは、こうしたメソッドが復帰したときにシステムによって自動的に解放されます。効率性を確保するには、Graphics オブジェクトがコンポーネントまたはほかの Graphics オブジェクトから直接作成された場合だけ、そのオブジェクトを使って終了したときに dispose を呼び出すようにプログラミングしなければなりません。

関連項目:
finalize(), Component.paint(java.awt.Graphics), Component.update(java.awt.Graphics), Component.getGraphics(), create()

finalize

public void finalize()
参照されなくなった、このグラフィックスコンテキストを破棄します。

オーバーライド:
クラス Object 内の finalize
関連項目:
dispose()

toString

public String toString()
この Graphics オブジェクトの値を表現している、String オブジェクトを返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このグラフィックスコンテキストの文字列表現

getClipRect

@Deprecated
public Rectangle getClipRect()
推奨されていません。 JDK バージョン 1.1 以降は、getClipBounds() に置き換えられました。

現在のクリッピング領域の境界の矩形を返します。

戻り値:
現在のクリッピング領域の境界の矩形。クリップが設定されていない場合は、null

hitClip

public boolean hitClip(int x,
                       int y,
                       int width,
                       int height)
指定された矩形領域が現在のクリッピング領域と交差する場合は true を返します。指定された矩形領域の座標はユーザ空間座標にあり、このグラフィックスコンテキストの座標系の原点を基準にしています。このメソッドは、結果をすばやく計算するアルゴリズムを使用しますが、指定された矩形領域がクリッピング領域と交差しない場合でも true を返す場合があります。このため、用いるアルゴリズムには精度と速度との妥協が必要になります。ただし、指定された矩形領域が現在のクリッピング領域と交差しないことが保証されない限り false を返すことはありません。このメソッドで使用するクリッピング領域は、デバイスまたはイメージ境界とウィンドウ可視に関連したクリッピングと同時に、このグラフィックスコンテキストのクリップメソッドによって指定されたユーザクリップの交差を表現することができます。

パラメータ:
x - 現在のクリッピング領域と比較される矩形の x 座標
y - 現在のクリッピング領域と比較される矩形の y 座標
width - 現在のクリッピング領域と比較される矩形の幅
height - 現在のクリッピング領域と比較される矩形の高さ
戻り値:
指定された矩形が現在のクリップの境界と交差する場合は true、そうでない場合は false

getClipBounds

public Rectangle getClipBounds(Rectangle r)
現在のクリッピング領域の境界の矩形を返します。矩形内の座標はこのグラフィックスコンテキストの座標系の原点を基準にしています。このメソッドは getClipBounds とは異なり、新しいものを割り当てないで既存の矩形を使用します。このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザクリップを参照します。クリップが設定されていない場合、またはクリップが setClip(null) を使用してクリアされている場合は、このメソッドは指定した Rectangle を返します。

パラメータ:
r - 現在のクリッピング領域のコピー先の矩形。この矩形に現在の値があれば上書きされる
戻り値:
現在のクリッピング領域の境界の矩形

JavaTM 2 Platform
Standard Ed. 5.0

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

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