- 直系の既知のサブクラス:
DebugGraphics
,Graphics2D
Graphics
クラスは、アプリケーションがさまざまなデバイス上に実現されたコンポーネントやオンスクリーン・イメージ上に描画できるようにする、すべてのグラフィックス・コンテキストのための抽象基底クラスです。
Graphics
オブジェクトは、Javaがサポートする基本的な描画操作に必要な状態情報をカプセル化します。 この状態情報には、次のプロパティがあります。
- 描画対象の
Component
オブジェクト。 - 描画のための変換の起点とクリッピング座標。
- 現在のクリップ。
- 現在の色。
- 現在のフォント。
- 現在の論理ピクセル操作機能(XORまたはPaint)。
- 現在のXOR変更色(
setXORMode(java.awt.Color)
を参照してください)。
座標軸は無限に細く、出力デバイスのピクセル間に存在します。 図形の輪郭を描く操作は、ピクセル・サイズのペンをピクセル間の無限に細い輪郭線に沿って動かしていくことによって動作します。ペンは、輪郭線のアンカー・ポイントにぶら下がり、かつ右側に位置しています。 図形の内部を埋める操作は、無限に細い輪郭線の内部を埋め込むことにより動作します。 水平の文字を描画する操作は、ベースライン座標より上に文字グリフのアセンダ部分をすべて描画します。
グラフィックス・ペンはその軌道の輪郭線にぶら下がり、かつ右側に位置しています。 これは次のような意味合いを持ちます:
- 指定された矩形をカバーする図形を描く場合、その図形で右と最下部の辺にピクセルをもう一列余分に表示するようにする。その点で、同じ矩形の内部を埋め込むのとは異なる。
- テキスト・ラインのベースラインと同じy座標に沿って水平線を描く場合、文字がベースラインより下に延びる部分を除き、テキストより完全に下に線を描く。
このGraphics
オブジェクトのメソッドの引数として使われるすべての座標値は、メソッドを呼び出す前のこのGraphics
オブジェクトの変換起点に相対的なものと見なされる。
すべての描画操作は、Shape
がユーザー空間に指定し、Graphics
オブジェクトを使用してプログラムが制御する現在のクリップに囲まれたエリアにあるピクセルだけを変更します。 このユーザー・クリップはデバイス空間に変換され、ウィンドウの可視性およびデバイスの大きさによって定義されるデバイス・クリップと結合されます。 ユーザー・クリップとデバイス・クリップの組み合わせによって、最終的なクリッピング領域を決定する複合クリップが定義されます。 描画システムは、ユーザー・クリップを変更して複合クリップの結果を反映することはできません。 ユーザー・クリップはsetClip
またはclipRect
メソッドでのみ変更できます。 すべての描画や書込みは、現在の色で、現在のペイント・モードとフォントを使用して行われます。
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明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) コンポーネントの領域をdx
とdy
によって指定された間隔でコピーします。abstract Graphics
create()
この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 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 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 x, int y, Color bgcolor, ImageObserver observer) 指定されたイメージのうち、現在利用可能な部分を描画します。abstract boolean
drawImage
(Image img, int x, int y, 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
指定された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
(String str, int x, int y) このグラフィックス・コンテキストの現在のフォントと色を使い、指定された文字列によって指定されたテキストを描きます。abstract void
drawString
(AttributedCharacterIterator iterator, int x, int y) 指定されたイテレータのテキストを、その属性をTextAttribute
クラスの仕様に従って適用しながら描画します。void
fill3DRect
(int x, int y, int width, int height, boolean raised) 現在の色で塗りつぶされている、3Dで強調表示された矩形をペイントします。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
指定された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
現在のクリッピング領域の境界の矩形を返します。現在のクリッピング領域の境界の矩形を返します。非推奨。JDK Version 1.1以降は、getClipBounds()
に置き換えられています。abstract Color
getColor()
このグラフィックス・コンテキストの現在の色を返します。abstract Font
getFont()
現在のフォントを返します。現在のフォントのフォント・メトリックを返します。abstract FontMetrics
指定されたフォントのフォント・メトリックを取得します。boolean
hitClip
(int x, int y, int width, int height) 指定された矩形領域が現在のクリッピング領域と交差する場合はtrueを返します。abstract void
setClip
(int x, int y, int width, int height) 指定した座標が指定した矩形に現在のクリップを設定します。abstract void
現在のクリッピング領域を任意のクリップ形状に設定します。abstract void
このグラフィックス・コンテキストの現在の色を、指定された色に設定します。abstract void
このグラフィックス・コンテキストのフォントを、指定されたフォントに設定します。abstract void
このグラフィックス・コンテキストの現在の色でデスティネーションを上書きするように、ペイント・モードを設定します。abstract void
setXORMode
(Color c1) このグラフィックス・コンテキストの現在の色と新しく指定された色を切り替えるように、グラフィックス・コンテキストのペイント・モードを設定します。toString()
このGraphics
オブジェクトの値を表すString
オブジェクトを返します。abstract void
translate
(int x, int y) グラフィックス・コンテキストの原点を現在の座標系内の点(x, y)に平行移動します。
-
コンストラクタの詳細
-
Graphics
protected Graphics()新しいGraphics
オブジェクトを構築します。 このコンストラクタは、グラフィックス・コンテキストのデフォルト・コンストラクタです。Graphics
は抽象クラスなので、アプリケーションはこのコンストラクタを直接呼び出すことはできません。 グラフィックス・コンテキストは、ほかのグラフィックス・コンテキストから取得されるか、コンポーネントでgetGraphics
を呼び出すことによって作成されます。
-
-
メソッドの詳細
-
create
public abstract Graphics create()このGraphics
オブジェクトのコピーである新しいGraphics
オブジェクトを作成します。- 戻り値:
- このグラフィックス・コンテキストのコピーである、新しいグラフィックス・コンテキスト。
-
create
public Graphics create(int x, int y, int width, int height) このGraphics
オブジェクトに基づいた新しいGraphics
オブジェクトを、新しい変換およびクリップ領域で作成します。 新しいGraphics
オブジェクトの原点は、指定された点(x, y)に平行移動されます。 そのクリップ領域は、元のクリップ領域と指定された矩形との共通部分で指定されます。 引数はすべて、元のGraphics
オブジェクトの座標系で解釈されます。 新しいグラフィックス・コンテキストは、次の2点以外については元のグラフィックス・コンテキストと同じです。-
新しいグラフィックス・コンテキストは(x, y)だけ平行移動される。 つまり、新しいグラフィックス・コンテキストの点(
0
,0
)は元のグラフィックス・コンテキストの点(x, y)と同じとなる。 -
新しいグラフィックス・コンテキストは、元のグラフィックス・コンテキストから継承された変換後のクリッピング矩形が何であろうと、追加のクリッピング矩形を持つ。 新しいクリッピング矩形の原点は(
0
,0
)にあって、そのサイズはwidth
引数とheight
引数で指定される。
- パラメータ:
x
- x座標。y
- y座標。width
- クリッピング矩形の幅。height
- クリッピング矩形の高さ。- 戻り値:
- 新しいグラフィックス・コンテキスト。
- 関連項目:
-
新しいグラフィックス・コンテキストは(x, y)だけ平行移動される。 つまり、新しいグラフィックス・コンテキストの点(
-
translate
public abstract void translate(int x, int y) グラフィックス・コンテキストの原点を現在の座標系内の点(x, y)に平行移動します。 このグラフィックス・コンテキストを、新しい原点がこのグラフィックス・コンテキストの元の座標系の点(x, y)に一致するように変更します。 このグラフィックス・コンテキストに行われた、これ以降の描画操作に使用される座標はすべてこの原点に相対的な値となります。- パラメータ:
x
- x座標。y
- y座標。
-
getColor
public abstract Color getColor()このグラフィックス・コンテキストの現在の色を返します。- 戻り値:
- このグラフィックス・コンテキストの現在の色
- 関連項目:
-
setColor
public abstract void setColor(Color c) このグラフィックス・コンテキストの現在の色を、指定された色に設定します。 このグラフィックス・コンテキストを使うこれ以降のグラフィック関連操作は、ここで指定された色を使用します。 null引数は通知なく無視されます。- パラメータ:
c
- 新しい描画色。- 関連項目:
-
setPaintMode
public abstract void setPaintMode()このグラフィックス・コンテキストの現在の色でデスティネーションを上書きするように、ペイント・モードを設定します。 これは、論理ピクセル操作機能をペイント・モード、つまり上書きモードに設定します。 これ以降の描画操作は、デスティネーションを現在の色で上書きします。 -
setXORMode
public abstract void setXORMode(Color c1) このグラフィックス・コンテキストの現在の色と新しく指定された色を切り替えるように、グラフィックス・コンテキストのペイント・モードを設定します。 これは、論理ピクセル操作をXORモードで実行するように指定します。XORモードでは、ピクセルは現在の色と指定されたXOR交代色の間を交互に切り替わります。描画操作を実行すると、現在の色のピクセルが指定された色に切り替わり、その逆も当てはまります。
ここで取り上げられた2色以外の色を持つピクセルは予想できない色に変化しますが、それらは元に戻せるようになっています。同じ図を2回描画すれば、すべてのピクセルは初期の設定色に戻ります。
- パラメータ:
c1
- XORの交代色
-
getFont
public abstract Font getFont()現在のフォントを返します。- 戻り値:
- このグラフィックス・コンテキストの現在のフォント。
- 関連項目:
-
setFont
public abstract void setFont(Font font) このグラフィックス・コンテキストのフォントを、指定されたフォントに設定します。 このグラフィックス・コンテキストを使用する、これ以降のテキスト描画操作は、このフォントを使用します。 null引数は通知なく無視されます。 -
getFontMetrics
public FontMetrics getFontMetrics()現在のフォントのフォント・メトリックを返します。- 戻り値:
- このグラフィックス・コンテキストの現在のフォントのフォント・メトリックス。
- 関連項目:
-
getFontMetrics
public abstract FontMetrics getFontMetrics(Font f) 指定されたフォントのフォント・メトリックを取得します。- パラメータ:
f
- 指定されたフォント- 戻り値:
- 指定されたフォントのフォント・メトリックス。
- 関連項目:
-
getClipBounds
public abstract Rectangle getClipBounds()現在のクリッピング領域の境界の矩形を返します。 このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザー・クリップを参照します。 クリップが以前に設定されていない場合、またはクリップがsetClip(null)
を使用してクリアされている場合、このメソッドはnull
を返します。 矩形内の座標はこのグラフィックス・コンテキストの座標系の原点を基準にしています。- 戻り値:
- 現在のクリッピング領域の境界の矩形。クリップが設定されていない場合は
null
。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
clipRect
public abstract void clipRect(int x, int y, int width, int height) 現在のクリップと指定された矩形を交差させます。 結果がクリップされる領域は現在のクリッピング領域と指定した矩形の交差部分です。 クリップが設定されたことがないか、またはクリップがsetClip(null)
を使用してクリアされたため現在のクリッピング領域がない場合は、指定した矩形が新しいクリップとなります。 このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングに依存しないユーザー・クリップを設定します。 このメソッドは現在のクリップを小さくする場合に限り使用できます。 現在のクリップを大きくするには、任意のsetClipメソッドを使用します。 クリッピング領域外で描画操作を行っても効果はありません。- パラメータ:
x
- 交差してクリップする矩形のx座標y
- 交差してクリップする矩形のy座標width
- 交差してクリップする矩形の幅height
- 交差してクリップする矩形の高さ- 関連項目:
-
setClip
public abstract void setClip(int x, int y, int width, int height) 指定した座標が指定した矩形に現在のクリップを設定します。 このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングに依存しないユーザー・クリップを設定します。 クリッピング領域外で描画操作を行っても効果はありません。- パラメータ:
x
- 新しいクリップ矩形のx座標。y
- 新しいクリップ矩形のy座標。width
- 新しいクリップ矩形の幅。height
- 新しいクリップ矩形の高さ。- 導入されたバージョン:
- 1.1
- 関連項目:
-
getClip
public abstract Shape getClip()現在のクリッピング領域を返します。 このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザー・クリップを返します。 クリップが以前に設定されていない場合、またはクリップがsetClip(null)
を使用してクリアされている場合、このメソッドはnull
を返します。- 戻り値:
- 現在のクリッピング領域を表す
Shape
オブジェクト。クリップが設定されていない場合はnull
。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
setClip
public abstract void setClip(Shape clip) 現在のクリッピング領域を任意のクリップ形状に設定します。 クリップを設定するために、Shape
インタフェースを実装するすべてのオブジェクトを使えるわけではありません。 サポートが保証されている唯一のShape
オブジェクトは、getClip
メソッドを使うかRectangle
オブジェクトを使って取得されるShape
オブジェクトだけです。 このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングに依存しないユーザー・クリップを設定します。- パラメータ:
clip
- クリップ設定に使用するShape
null
を渡すと、現在のclip
がクリアされます。- 導入されたバージョン:
- 1.1
- 関連項目:
-
copyArea
public abstract void copyArea(int x, int y, int width, int height, int dx, int dy) コンポーネントの領域をdx
とdy
によって指定された間隔でコピーします。 このメソッドはx
とy
で指定された点から、コンポーネントの下方向および右方向の領域をコピーします。 コンポーネントの左方向および上方向の領域をコピーするには、dx
とdy
に負の値を指定します。 ソースの矩形のある部分がコンポーネントの境界外にある場合や別のコンポーネントやウィンドウで隠されている場合は、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) 指定された矩形を塗りつぶします。 矩形の左端と右端はx
とx + width - 1
にあります。 上端と下端はy
とy + height - 1
にあります。 結果として得られる矩形は、幅がwidth
ピクセル、高さがheight
ピクセルの領域をカバーします。 矩形は、グラフィックス・コンテキストの現在の色を使って塗りつぶされます。- パラメータ:
x
- 塗りつぶされる矩形のx座標。y
- 塗りつぶされる矩形のy座標。width
- 塗りつぶされる矩形の幅。height
- 塗りつぶされる矩形の高さ。- 関連項目:
-
drawRect
public void drawRect(int x, int y, int width, int height) 指定された矩形の輪郭を描きます。 矩形の左端と右端はx
とx + width
にあります。 上端と下端はy
とy + height
にあります。 矩形は、グラフィックス・コンテキストの現在の色を使って描画されます。- パラメータ:
x
- 描画される矩形のx座標。y
- 描画される矩形のy座標。width
- 描画される矩形の幅。height
- 描画される矩形の高さ。- 関連項目:
-
clearRect
public abstract void clearRect(int x, int y, int width, int height) 指定された矩形を、現在の描画表面のバックグラウンド・カラーで塗りつぶすことによりクリアします。 この操作は、現在のペイント・モードを使いません。Java 1.1以降は、オフスクリーンのイメージのバックグラウンド・カラーはシステムにより異なります。 アプリケーションは
setColor
に続けてfillRect
を使うことによって、オフスクリーン・イメージをクリアして特定の色にすることを保証します。- パラメータ:
x
- クリア対象の矩形のx座標。y
- クリア対象の矩形のy座標。width
- クリア対象の矩形の幅。height
- クリア対象の矩形の高さ。- 関連項目:
-
drawRoundRect
public abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) 丸いコーナー付きの輪郭の矩形を、このグラフィックス・コンテキストの現在の色を使用して描きます。 矩形の左端と右端は、それぞれx
とx + width
にあります。 矩形の上端と下端はy
とy + height
にあります。- パラメータ:
x
- 描画される矩形のx座標。y
- 描画される矩形のy座標。width
- 描画される矩形の幅。height
- 描画される矩形の高さ。arcWidth
- 4隅にある弧の水平方向の直径。arcHeight
- 4隅にある弧の垂直方向の直径。- 関連項目:
-
fillRoundRect
public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) 指定された丸いコーナー付きの矩形を現在の色で塗りつぶします。 矩形の左端と右端は、それぞれx
とx + width - 1
にあります。 矩形の上端と下端はy
とy + height - 1
にあります。- パラメータ:
x
- 塗りつぶされる矩形のx座標。y
- 塗りつぶされる矩形のy座標。width
- 塗りつぶされる矩形の幅。height
- 塗りつぶされる矩形の高さ。arcWidth
- 4隅にある弧の水平方向の直径。arcHeight
- 4隅にある弧の垂直方向の直径。- 関連項目:
-
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
public void fill3DRect(int x, int y, int width, int height, boolean raised) 現在の色で塗りつぶされている、3Dで強調表示された矩形をペイントします。 矩形の端は傾斜が付けられ左上隅から光を当てられたように強調表示されます。 強調表示効果に使用される色は現在の色から決定されます。- パラメータ:
x
- 塗りつぶされる矩形のx座標。y
- 塗りつぶされる矩形のy座標。width
- 塗りつぶされる矩形の幅。height
- 塗りつぶされる矩形の高さ。raised
- 矩形が表面から浮き出たように見えるか、または表面に彫り込まれたように見えるかを決定するboolean値。- 関連項目:
-
drawOval
public abstract void drawOval(int x, int y, int width, int height) 楕円の輪郭を描きます。 引数のx
、y
、width
、height
で指定される矩形内に収まる円または楕円が描かれます。楕円は、幅
width + 1
ピクセル、高さheight + 1
ピクセルの領域をカバーします。- パラメータ:
x
- 描画される楕円の左上隅のx座標。y
- 描画される楕円の左上隅のy座標。width
- 描画される楕円の幅。height
- 描画される楕円の高さ。- 関連項目:
-
fillOval
public abstract void fillOval(int x, int y, int width, int height) 指定された矩形の中の楕円形を現在の色で塗りつぶします。- パラメータ:
x
- 塗りつぶされる楕円の左上隅のx座標。y
- 塗りつぶされる楕円の左上隅のy座標。width
- 塗りつぶされる楕円の幅。height
- 塗りつぶされる楕円の高さ。- 関連項目:
-
drawArc
public abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) 指定された矩形をカバーする円弧または楕円弧の輪郭を描きます。startAngle
から始まってarcAngle
の角度で展開された弧が、現在の色を使って描かれます。 角度は、0 度が3 時の位置にあるように解釈されます。 正の値は反時計方向、負の値は時計方向の回転を示します。弧の中心は、原点が(x, y)で、サイズが
width
およびheight
引数によって指定される矩形の中心になります。結果として得られる弧は、幅が
width + 1
ピクセル、高さがheight + 1
ピクセルの領域をカバーします。角度は、正方形でない境界の矩形に応じて相対的に決められ、その際、楕円の中心から境界の矩形の右上隅までを結ぶ線は常に45度になります。 境界の矩形の軸の長さがかなり違う場合には、弧セグメントの開始角度と終了角度は境界の長軸にそってさらに傾斜します。
- パラメータ:
x
- 描画される弧の左上隅のx座標。y
- 描画される弧の左上隅のy座標。width
- 描画される孤の幅。height
- 描画される孤の高さ。startAngle
- 開始角度。arcAngle
- 開始角度を基準にした、弧の角の大きさ。- 関連項目:
-
fillArc
public abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) 指定された矩形をカバーする円弧または楕円弧を塗りつぶします。startAngle
から始まってarcAngle
の角度で展開された弧が描かれます。 角度は、0 度が3 時の位置にあるように解釈されます。 正の値は反時計方向、負の値は時計方向の回転を示します。弧の中心は、原点が(x, y)で、サイズが
width
およびheight
引数によって指定される矩形の中心になります。結果として得られる弧は、幅が
width + 1
ピクセル、高さがheight + 1
ピクセルの領域をカバーします。角度は、正方形でない境界の矩形に応じて相対的に決められ、その際、楕円の中心から境界の矩形の右上隅までを結ぶ線は常に45度になります。 境界の矩形の軸の長さがかなり違う場合には、弧セグメントの開始角度と終了角度は境界の長軸にそってさらに傾斜します。
- パラメータ:
x
- 塗りつぶされる弧の左上隅のx座標。y
- 塗りつぶされる弧の左上隅のy座標。width
- 塗りつぶされる孤の幅。height
- 塗りつぶされる孤の高さ。startAngle
- 開始角度。arcAngle
- 開始角度を基準にした、弧の角の大きさ。- 関連項目:
-
drawPolyline
public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) xおよびy座標の配列によって定義された連続的につながった直線を描画します。 点を定義する(x, y)座標の各ペア。 最初の座標と最後の座標が一致しない場合、図形は閉じません。- パラメータ:
xPoints
- x点の配列yPoints
- y点の配列nPoints
- 点の総数- 導入されたバージョン:
- 1.1
- 関連項目:
-
drawPolygon
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) xおよびy座標の配列によって定義された閉じた多角形を描画します。 点を定義する(x, y)座標の各ペア。このメソッドは、
nPoint
ライン・セグメントによって定義された多角形を描画します。ここで、1 ≤ i ≤nPoints
とすると、最初のnPoint - 1
ライン・セグメントは(xPoints[i - 1], yPoints[i - 1])
から(xPoints[i], yPoints[i])
までのライン・セグメントです。 最後の点と最初の点が一致しない場合、それらを接続するラインを描画すれば図は自動的に閉じます。- パラメータ:
xPoints
-x
座標の配列。yPoints
-y
座標の配列。nPoints
- 点の総数。- 関連項目:
-
drawPolygon
public void drawPolygon(Polygon p) 指定されたPolygon
オブジェクトによって定義された多角形の輪郭を描画します。- パラメータ:
p
- 描画対象の多角形。- 関連項目:
-
fillPolygon
public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) xおよびy座標の配列によって定義された閉じた多角形を塗りつぶします。このメソッドは、
nPoint
ライン・セグメントによって定義された多角形を描画します。ここで、1 ≤ i ≤nPoints
とすると、最初のnPoint - 1
ライン・セグメントは(xPoints[i - 1], yPoints[i - 1])
から(xPoints[i], yPoints[i])
までのライン・セグメントです。 最後の点と最初の点が一致しない場合、それらを接続するラインを描画すれば図は自動的に閉じます。多角形内の領域は、偶奇塗りつぶしルール(交互ルールともいう)を使って定義されます。
- パラメータ:
xPoints
-x
座標の配列。yPoints
-y
座標の配列。nPoints
- 点の総数。- 関連項目:
-
fillPolygon
public void fillPolygon(Polygon p) 指定されたPolygonオブジェクトで定義された多角形をグラフィックス・コンテキストの現在の色で塗りつぶします。多角形内の領域は、偶奇塗りつぶしルール(交互ルールともいう)を使って定義されます。
- パラメータ:
p
- 塗りつぶし対象の多角形。- 関連項目:
-
drawString
public abstract void drawString(String str, int x, int y) このグラフィックス・コンテキストの現在のフォントと色を使い、指定された文字列によって指定されたテキストを描きます。 左端の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(x, y)にあります。- パラメータ:
str
- 描画される文字列。x
- x座標。y
- y座標。- 例外:
NullPointerException
-str
がnull
の場合。- 関連項目:
-
drawString
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y) 指定されたイテレータのテキストを、その属性をTextAttribute
クラスの仕様に従って適用しながら描画します。左端の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(x, y)にあります。
- パラメータ:
iterator
- 描画されるテキストを持つイテレータx
- x座標。y
- y座標。- 例外:
NullPointerException
-iterator
がnull
の場合。- 関連項目:
-
drawChars
public void drawChars(char[] data, int offset, int length, int x, int y) このグラフィックス・コンテキストの現在のフォントと色を使い、指定された文字配列によって指定されたテキストを描きます。 最初の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(x, y)にあります。- パラメータ:
data
- 描画される文字の配列offset
- データ内の開始オフセットlength
- 描画される文字数x
- テキストのベースラインのx座標y
- テキストのベースラインのy座標- 例外:
NullPointerException
-data
がnull
の場合。IndexOutOfBoundsException
-offset
またはlength
が0より小さい場合、またはoffset+length
がdata
配列の長さより大きい場合。- 関連項目:
-
drawBytes
public void drawBytes(byte[] data, int offset, int length, int x, int y) このグラフィックス・コンテキストの現在のフォントと色を使い、指定されたバイト配列によって指定されたテキストを描きます。 最初の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(x, y)にあります。各バイトは範囲0 - 255のUnicodeコード・ポイントとして解釈されるため、このメソッドの使用は非推奨です。この範囲にあるラテン文字を描く場合だけ使用できます。
- パラメータ:
data
- 描画されるデータoffset
- データ内の開始オフセットlength
- 描画されるバイト数x
- テキストのベースラインのx座標y
- テキストのベースラインのy座標- 例外:
NullPointerException
-data
がnull
の場合。IndexOutOfBoundsException
-offset
またはlength
が0より小さい場合、またはoffset+length
がdata
配列の長さより大きい場合。- 関連項目:
-
drawImage
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer) 指定されたイメージのうち、現在利用可能な部分を描画します。 イメージは、左上隅がこのグラフィックス・コンテキストの座標空間内の(x, y)にある状態で描画されます。 イメージ内の透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。
イメージが完全にロードされ、そのピクセルが変更されなくなった場合、
drawImage
はtrue
を返します。 それ以外の場合、drawImage
はfalse
を返し、イメージのさらに多くの部分が使用可能になるか、またはアニメーションの別のフレームを描画する時間になると、イメージをロードするプロセスが指定されたイメージ・オブザーバに通知します。- パラメータ:
img
- 描画される指定されたイメージ。img
がnullである場合、このメソッドは何も行いません。x
- x座標。y
- y座標。observer
- イメージのさらに多くの部分が変換されたときに通知を受けるオブジェクト。- 戻り値:
- イメージ・ピクセルがまだ変化している場合は
false
、それ以外の場合はtrue
。 - 関連項目:
-
drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) 指定されたイメージのうち、指定された矩形内に収まるようにスケーリングされた部分を描画します。イメージは、このグラフィックス・コンテキストの座標空間の指定された矩形内に描画され、必要に応じてスケーリングされます。 透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。
このメソッドは、イメージ全体が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。 現在の出力表現がまだ完全でない場合、
drawImage
はfalse
を返します。 より多くのイメージが利用可能になると、イメージをロードするプロセスが、そのimageUpdate
メソッドを呼び出すことによってイメージ・オブザーバに通知します。スケーリングしていないイメージをこの出力デバイス用に構築しているという理由だけで、スケーリングしたイメージをただちに使用できるとはかぎりません。 イメージはサイズごとに個別にキャッシュされ、元のデータから別のイメージ作成シーケンスによって生成されることもあるからです。
- パラメータ:
img
- 描画される指定されたイメージ。img
がnullである場合、このメソッドは何も行いません。x
- x座標。y
- y座標。width
- 矩形の幅。height
- 矩形の高さ。observer
- イメージのさらに多くの部分が変換されたときに通知を受けるオブジェクト。- 戻り値:
- イメージ・ピクセルがまだ変化している場合は
false
、それ以外の場合はtrue
。 - 関連項目:
-
drawImage
public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) 指定されたイメージのうち、現在利用可能な部分を描画します。 イメージは、左上隅がこのグラフィックス・コンテキストの座標空間内の(x, y)にある状態で描画されます。 透明ピクセルは指定されたバックグラウンド・カラーで描画されます。この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。
完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。
イメージが完全にロードされ、そのピクセルが変更されなくなった場合、
drawImage
はtrue
を返します。 それ以外の場合、drawImage
はfalse
を返し、イメージのさらに多くの部分が使用可能になるか、またはアニメーションの別のフレームを描画する時間になると、イメージをロードするプロセスが指定されたイメージ・オブザーバに通知します。- パラメータ:
img
- 描画される指定されたイメージ。img
がnullである場合、このメソッドは何も行いません。x
- x座標。y
- y座標。bgcolor
- イメージの不透明でない部分の下にペイントする背景色。observer
- イメージのさらに多くの部分が変換されたときに通知を受けるオブジェクト。- 戻り値:
- イメージ・ピクセルがまだ変化している場合は
false
、それ以外の場合はtrue
。 - 関連項目:
-
drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) 指定されたイメージのうち、指定された矩形内に収まるようにスケーリングされた部分を描画します。イメージは、このグラフィックス・コンテキストの座標空間の指定された矩形内に描画され、必要に応じてスケーリングされます。 透明ピクセルは指定されたバックグラウンド・カラーで描画されます。 この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。
このメソッドは、イメージ全体が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。 現在の出力表現がまだ完全でない場合、
drawImage
はfalse
を返します。 より多くのイメージが利用可能になると、イメージをロードするプロセスにより指定のイメージ・オブザーバに通知されます。スケーリングしていないイメージをこの出力デバイス用に構築しているという理由だけで、スケーリングしたイメージをただちに使用できるとはかぎりません。 イメージはサイズごとに個別にキャッシュされ、元のデータから別のイメージ作成シーケンスによって生成されることもあるからです。
- パラメータ:
img
- 描画される指定されたイメージ。img
がnullである場合、このメソッドは何も行いません。x
- x座標。y
- y座標。width
- 矩形の幅。height
- 矩形の高さ。bgcolor
- イメージの不透明でない部分の下にペイントする背景色。observer
- イメージのさらに多くの部分が変換されたときに通知を受けるオブジェクト。- 戻り値:
- イメージ・ピクセルがまだ変化している場合は
false
、それ以外の場合はtrue
。 - 関連項目:
-
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) 指定されたイメージのうち、現在利用可能で、描画先表面の指定された領域内に収まるように処理中にスケーリングされた部分を描画します。 透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。このメソッドは、描画されるイメージ領域が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。 現在の出力表現がまだ完全でない場合、
drawImage
はfalse
を返します。 より多くのイメージが利用可能になると、イメージをロードするプロセスにより指定のイメージ・オブザーバに通知されます。このメソッドは常にスケーリングされていないイメージを使って、スケーリングされた矩形を描いて、必要なスケーリングをただちに実行します。 これはこの操作に対しては、キャッシュされたスケーリング済みのイメージを使用しません。 ソース矩形の最初の座標をデスティネーション矩形の最初の座標に、ソースの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
。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
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) 指定されたイメージのうち、現在利用可能で、描画先表面の指定された領域内に収まるように処理中にスケーリングされた部分を描画します。透明ピクセルは指定されたバックグラウンド・カラーで描画されます。 この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。
このメソッドは、描画されるイメージ領域が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。 現在の出力表現がまだ完全でない場合、
drawImage
はfalse
を返します。 より多くのイメージが利用可能になると、イメージをロードするプロセスにより指定のイメージ・オブザーバに通知されます。このメソッドは常にスケーリングされていないイメージを使って、スケーリングされた矩形を描いて、必要なスケーリングをただちに実行します。 これはこの操作に対しては、キャッシュされたスケーリング済みのイメージを使用しません。 ソース矩形の最初の座標をデスティネーション矩形の最初の座標に、ソースの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
。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
dispose
public abstract void dispose()このグラフィックス・コンテキストを破棄して、使用中のシステム・リソースがあればそれを解放します。Graphics
オブジェクトをdispose
の呼出し後に使用することはできません。Javaプログラムが実行されていると、短時間フレーム内で多数の
Graphics
オブジェクトを作成できます。 ガベージ・コレクタのファイナライズ・プロセスも同じシステム・リソースを破棄しますが、関連するリソースを手動で解放することが推奨されます。つまり、長期間に渡って完了まで実行されない可能性があるファイナライズ・プロセスに依存するよりも、このメソッドを呼び出してリソースを手動で解放してください。コンポーネントの
paint
メソッドとupdate
メソッドに引数として提供されるGraphicsオブジェクトは、こうしたメソッドが復帰したときにシステムによって自動的に解放されます。 効率性を確保するには、Graphics
オブジェクトがコンポーネントまたはほかのGraphics
オブジェクトから直接作成された場合だけ、そのオブジェクトを使い終わったときにdispose
を呼び出すようにプログラミングしなければいけません。 -
finalize
@Deprecated(since="9") public void finalize()非推奨。finalize
メソッドは非推奨になっています。 クリーンアップを実行するためにfinalize
をオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalize
メソッドを削除するように変更する必要があります。finalize
メソッドをオーバーライドする場合、実装では、super.finalize()
がObject.finalize()
の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()
の仕様を参照してください。参照されなくなった、このグラフィックス・コンテキストを破棄します。 -
toString
public String toString()このGraphics
オブジェクトの値を表すString
オブジェクトを返します。 -
getClipRect
@Deprecated public Rectangle getClipRect()非推奨。JDK Version 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
現在のクリッピング領域の境界の矩形を返します。 矩形内の座標はこのグラフィックス・コンテキストの座標系の原点を基準にしています。 このメソッドはgetClipBounds
とは異なり、新しい矩形を割り当てずに既存のものを使用します。 このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザー・クリップを参照します。 クリップが以前に設定されていない場合、またはクリップがsetClip(null)
を使用してクリアされている場合、このメソッドは指定されたRectangle
を返します。- パラメータ:
r
- 現在のクリッピング領域のコピー先の矩形。 この矩形に現在の値があれば上書きされる。- 戻り値:
- 現在のクリッピング領域の境界の矩形。
-
finalize
メソッドは非推奨になっています。