public abstract class Graphics extends Object
Graphics
クラスは、アプリケーションがさまざまなデバイス上に実現されたコンポーネントやオンスクリーン・イメージ上に描画できるようにする、すべてのグラフィックス・コンテキストのための抽象基底クラスです。
Graphics
オブジェクトは、Javaがサポートする基本的な描画操作に必要な状態情報をカプセル化します。この状態情報には、次のプロパティがあります。
Component
オブジェクト。
setXORMode(java.awt.Color)
を参照してください)。
座標軸は無限に細く、出力デバイスのピクセル間に存在します。図形の輪郭を描く操作は、ピクセル・サイズのペンをピクセル間の無限に細い輪郭線に沿って動かしていくことによって動作します。ペンは、輪郭線のアンカー・ポイントにぶら下がり、かつ右側に位置しています。図形の内部を埋める操作は、無限に細い輪郭線の内部を埋め込むことにより動作します。水平の文字を描画する操作は、ベースライン座標より上に文字グリフのアセンダ部分をすべて描画します。
グラフィックス・ペンはその軌道の輪郭線にぶら下がり、かつ右側に位置しています。これは、次のことを示します。
このGraphics
オブジェクトのメソッドの引数として使われるすべての座標値は、メソッドを呼び出す前のこのGraphics
オブジェクトの変換起点に相対的なものと見なされる。
すべての描画操作は、Shape
がユーザー空間に指定し、Graphics
オブジェクトを使用してプログラムが制御する現在のクリップに囲まれたエリアにあるピクセルだけを変更します。このユーザー・クリップはデバイス空間に変換され、ウィンドウの可視性およびデバイスの大きさによって定義されるデバイス・クリップと結合されます。ユーザー・クリップとデバイス・クリップの組み合わせによって、最終的なクリッピング領域を決定する複合クリップが定義されます。描画システムは、ユーザー・クリップを変更して複合クリップの結果を反映することはできません。ユーザー・クリップはsetClip
またはclipRect
メソッドでのみ変更できます。すべての描画や書込みは、現在の色で、現在のペイント・モードとフォントを使用して行われます。
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)
コンポーネントの領域を
dx とdy によって指定された間隔でコピーします。 |
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)
指定されたイテレータのテキストを、その属性を
TextAttribute クラスの仕様に従って適用しながら描画します。 |
abstract void |
drawString(String str, int x, int y)
このグラフィックス・コンテキストの現在のフォントと色を使い、指定された文字列によって指定されたテキストを描きます。
|
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 |
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 version 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)
グラフィックス・コンテキストの原点を現在の座標系内の点(x, y)に平行移動します。
|
protected Graphics()
Graphics
オブジェクトを構築します。このコンストラクタは、グラフィックス・コンテキストのデフォルト・コンストラクタです。
Graphics
は抽象クラスなので、アプリケーションはこのコンストラクタを直接呼び出すことはできません。グラフィックス・コンテキストは、ほかのグラフィックス・コンテキストから取得されるか、コンポーネントでgetGraphics
を呼び出すことによって作成されます。
create()
, Component.getGraphics()
public abstract Graphics create()
Graphics
オブジェクトのコピーである新しいGraphics
オブジェクトを作成します。public Graphics create(int x, int y, int width, int height)
Graphics
オブジェクトに基づいた新しいGraphics
オブジェクトを、新しい変換およびクリップ領域で作成します。新しいGraphics
オブジェクトの原点は、指定された点(x, y)に平行移動されます。そのクリップ領域は、元のクリップ領域と指定された矩形との共通部分で指定されます。引数はすべて、元のGraphics
オブジェクトの座標系で解釈されます。新しいグラフィックス・コンテキストは、次の2点以外については元のグラフィックス・コンテキストと同じです。
0
, 0
)は元のグラフィックス・コンテキストの点(x, y)と同じとなる。
0
, 0
)にあって、そのサイズはwidth
引数とheight
引数で指定される。
x
- x座標。y
- y座標。width
- クリッピング矩形の幅。height
- クリッピング矩形の高さ。translate(int, int)
, clipRect(int, int, int, int)
public abstract void translate(int x, int y)
x
- x座標。y
- y座標。public abstract Color getColor()
Color
, setColor(Color)
public abstract void setColor(Color c)
c
- 新しい描画色。Color
, getColor()
public abstract void setPaintMode()
public abstract void setXORMode(Color c1)
描画操作を実行すると、現在の色のピクセルが指定された色に切り替わり、その逆も当てはまります。
ここで取り上げられた2色以外の色を持つピクセルは予想できない色に変化しますが、それらは元に戻せるようになっています。同じ図を2回描画すれば、すべてのピクセルは初期の設定色に戻ります。
c1
- XORの交代色public abstract Font getFont()
Font
, setFont(Font)
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)
public FontMetrics getFontMetrics()
getFont()
, FontMetrics
, getFontMetrics(Font)
public abstract FontMetrics getFontMetrics(Font f)
f
- 指定されたフォントgetFont()
, FontMetrics
, getFontMetrics()
public abstract Rectangle getClipBounds()
setClip(null)
を使用してクリアされている場合、このメソッドはnull
を返します。矩形内の座標はこのグラフィックス・コンテキストの座標系の原点を基準にしています。null
。getClip()
, clipRect(int, int, int, int)
, setClip(int, int, int, int)
, setClip(Shape)
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)
public abstract void setClip(int x, int y, int width, int height)
x
- 新しいクリップ矩形のx座標。y
- 新しいクリップ矩形のy座標。width
- 新しいクリップ矩形の幅。height
- 新しいクリップ矩形の高さ。clipRect(int, int, int, int)
, setClip(Shape)
, getClip()
public abstract Shape getClip()
setClip(null)
を使用してクリアされている場合、このメソッドはnull
を返します。Shape
オブジェクト。クリップが設定されていない場合はnull
。getClipBounds()
, clipRect(int, int, int, int)
, setClip(int, int, int, int)
, setClip(Shape)
public abstract void setClip(Shape clip)
Shape
インタフェースを実装するすべてのオブジェクトを使えるわけではありません。サポートが保証されている唯一のShape
オブジェクトは、getClip
メソッドを使うかRectangle
オブジェクトを使って取得されるShape
オブジェクトだけです。このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングに依存しないユーザー・クリップを設定します。clip
- クリップ設定に使用するShape
getClip()
, clipRect(int, int, int, int)
, setClip(int, int, int, int)
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
- ピクセルをコピーする垂直距離。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座標。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
- 塗りつぶされる矩形の高さ。clearRect(int, int, int, int)
, drawRect(int, int, int, int)
public void drawRect(int x, int y, int width, int height)
x
とx + width
にあります。上端と下端はy
とy + height
にあります。矩形は、グラフィックス・コンテキストの現在の色を使って描画されます。x
- 描画される矩形のx座標。y
- 描画される矩形のy座標。width
- 描画される矩形の幅。height
- 描画される矩形の高さ。fillRect(int, int, int, int)
, clearRect(int, int, int, int)
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)
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(int, int, int, int, int, int)
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隅にある弧の垂直方向の直径。drawRoundRect(int, int, int, int, int, int)
public void draw3DRect(int x, int y, int width, int height, boolean raised)
強調表示効果に使われる色は、現在の色に基づいて指定されます。結果として得られる矩形は、幅がwidth + 1
ピクセル、高さがheight + 1
ピクセルの領域をカバーします。
x
- 描画される矩形のx座標。y
- 描画される矩形のy座標。width
- 描画される矩形の幅。height
- 描画される矩形の高さ。raised
- 矩形が表面から浮き出たように見えるか、または表面がへこんだように見えるかを決定するboolean値。fill3DRect(int, int, int, int, boolean)
public void fill3DRect(int x, int y, int width, int height, boolean raised)
x
- 塗りつぶされる矩形のx座標。y
- 塗りつぶされる矩形のy座標。width
- 塗りつぶされる矩形の幅。height
- 塗りつぶされる矩形の高さ。raised
- 矩形が表面から浮き出たように見えるか、または表面に彫り込まれたように見えるかを決定するboolean値。draw3DRect(int, int, int, int, boolean)
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(int, int, int, int)
public abstract void fillOval(int x, int y, int width, int height)
x
- 塗りつぶされる楕円の左上隅のx座標。y
- 塗りつぶされる楕円の左上隅のy座標。width
- 塗りつぶされる楕円の幅。height
- 塗りつぶされる楕円の高さ。drawOval(int, int, int, int)
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(int, int, int, int, int, int)
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
- 開始角度を基準にした、弧の角の大きさ。drawArc(int, int, int, int, int, int)
public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
xPoints
- x点の配列yPoints
- y点の配列nPoints
- 点の総数drawPolygon(int[], int[], int)
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
このメソッドは、nPoint
ライン・セグメントによって定義された多角形を描画します。ここで、1 ≤ i ≤ nPoints
とすると、最初のnPoint - 1
ライン・セグメントは(xPoints[i - 1], yPoints[i - 1])
から(xPoints[i], yPoints[i])
までのライン・セグメントです。最後の点と最初の点が一致しない場合、それらを接続するラインを描画すれば図は自動的に閉じます。
xPoints
- x
座標の配列。yPoints
- y
座標の配列。nPoints
- 点の総数。fillPolygon(int[], int[], int)
, drawPolyline(int[], int[], int)
public void drawPolygon(Polygon p)
Polygon
オブジェクトによって定義された多角形の輪郭を描画します。p
- 描画対象の多角形。fillPolygon(int[], int[], int)
, drawPolyline(int[], int[], int)
public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
このメソッドは、nPoint
ライン・セグメントによって定義された多角形を描画します。ここで、1 ≤ i ≤ nPoints
とすると、最初のnPoint - 1
ライン・セグメントは(xPoints[i - 1], yPoints[i - 1])
から(xPoints[i], yPoints[i])
までのライン・セグメントです。最後の点と最初の点が一致しない場合、それらを接続するラインを描画すれば図は自動的に閉じます。
多角形内の領域は、偶奇塗りつぶしルール(交互ルールともいう)を使って定義されます。
xPoints
- x
座標の配列。yPoints
- y
座標の配列。nPoints
- 点の総数。drawPolygon(int[], int[], int)
public void fillPolygon(Polygon p)
多角形内の領域は、偶奇塗りつぶしルール(交互ルールともいう)を使って定義されます。
p
- 塗りつぶし対象の多角形。drawPolygon(int[], int[], int)
public abstract void drawString(String str, int x, int y)
str
- 描画される文字列。x
- x座標。y
- y座標。NullPointerException
- str
がnull
の場合。drawBytes(byte[], int, int, int, int)
, drawChars(char[], int, int, int, int)
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
TextAttribute
クラスの仕様に従って適用しながら描画します。
左端の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(x, y)にあります。
iterator
- 描画されるテキストを持つイテレータx
- x座標。y
- y座標。NullPointerException
- iterator
がnull
の場合。drawBytes(byte[], int, int, int, int)
, drawChars(char[], int, int, int, int)
public void drawChars(char[] data, int offset, int length, int x, int y)
data
- 描画される文字の配列offset
- データ内の開始オフセットlength
- 描画される文字数x
- テキストのベースラインのx座標y
- テキストのベースラインのy座標NullPointerException
- data
がnull
の場合。IndexOutOfBoundsException
- offset
またはlength
が0より小さいか、あるいはoffset+length
がdata
配列の長さより大きい場合。drawBytes(byte[], int, int, int, int)
, drawString(java.lang.String, int, int)
public void drawBytes(byte[] data, int offset, int length, int x, int y)
各バイトは範囲0 - 255のUnicodeコード・ポイントとして解釈されるため、このメソッドの使用は非推奨です。この範囲にあるラテン文字を描く場合だけ使用できます。
data
- 描画されるデータoffset
- データ内の開始オフセットlength
- 描画されるバイト数x
- テキストのベースラインのx座標y
- テキストのベースラインのy座標NullPointerException
- data
がnull
の場合。IndexOutOfBoundsException
- offset
またはlength
が0より小さいか、あるいはoffset+length
がdata
配列の長さより大きい場合。drawChars(char[], int, int, int, int)
, drawString(java.lang.String, int, int)
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。
イメージが完全にロードされ、そのピクセルが変更されなくなった場合、drawImage
はtrue
を返します。それ以外の場合、drawImage
はfalse
を返し、イメージのさらに多くの部分が使用可能になるか、またはアニメーションの別のフレームを描画する時間になると、イメージをロードするプロセスが指定されたイメージ・オブザーバに通知します。
img
- 描画される指定されたイメージ。img
がnullである場合、このメソッドは何も行いません。x
- x座標。y
- y座標。observer
- イメージのさらに多くの部分が変換されたときに通知を受けるオブジェクト。false
、それ以外の場合はtrue
。Image
, ImageObserver
, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
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
。Image
, ImageObserver
, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
この操作は、指定されたイメージの幅と高さの矩形を指定された色で塗りつぶしてから、その上にイメージを描くことに相当しますが、おそらくそれより効率的です。
完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。
イメージが完全にロードされ、そのピクセルが変更されなくなった場合、drawImage
はtrue
を返します。それ以外の場合、drawImage
はfalse
を返し、イメージのさらに多くの部分が使用可能になるか、またはアニメーションの別のフレームを描画する時間になると、イメージをロードするプロセスが指定されたイメージ・オブザーバに通知します。
img
- 描画される指定されたイメージ。img
がnullである場合、このメソッドは何も行いません。x
- x座標。y
- y座標。bgcolor
- イメージの不透明でない部分の下にペイントする背景色。observer
- イメージのさらに多くの部分が変換されたときに通知を受けるオブジェクト。false
、それ以外の場合はtrue
。Image
, ImageObserver
, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
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
。Image
, ImageObserver
, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
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
。Image
, ImageObserver
, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
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
。Image
, ImageObserver
, ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public abstract void dispose()
Graphics
オブジェクトをdispose
の呼出し後に使用することはできません。
Javaプログラムが実行されていると、短時間フレーム内で多数のGraphics
オブジェクトを作成できます。ガベージ・コレクタのファイナライズ・プロセスも同じシステム・リソースを破棄しますが、関連するリソースを手動で解放することが推奨されます。つまり、長期間に渡って完了まで実行されない可能性があるファイナライズ・プロセスに依存するよりも、このメソッドを呼び出してリソースを手動で解放してください。
コンポーネントのpaint
メソッドとupdate
メソッドに引数として提供されるGraphicsオブジェクトは、こうしたメソッドが復帰したときにシステムによって自動的に解放されます。効率性を確保するには、Graphics
オブジェクトがコンポーネントまたはほかのGraphics
オブジェクトから直接作成された場合だけ、そのオブジェクトを使い終わったときにdispose
を呼び出すようにプログラミングしなければいけません。
public void finalize()
public String toString()
Graphics
オブジェクトの値を表すString
オブジェクトを返します。@Deprecated public Rectangle getClipRect()
getClipBounds()
に置き換えられています。null
。public boolean hitClip(int x, int y, int width, int height)
x
- 現在のクリッピング領域と比較される矩形のx座標y
- 現在のクリッピング領域と比較される矩形のy座標width
- 現在のクリッピング領域と比較される矩形の幅height
- 現在のクリッピング領域と比較される矩形の高さtrue
、そうでない場合はfalse
。public Rectangle getClipBounds(Rectangle r)
getClipBounds
とは異なり、新しい矩形を割り当てずに既存のものを使用します。このメソッドは、デバイス境界やウィンドウ可視に関連したクリッピングには依存しないユーザー・クリップを参照します。クリップが以前に設定されていない場合、またはクリップがsetClip(null)
を使用してクリアされている場合、このメソッドは指定されたRectangle
を返します。r
- 現在のクリッピング領域のコピー先の矩形。この矩形に現在の値があれば上書きされる。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.