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
は abstract クラスなので、アプリケーションはこのコンストラクタを直接呼び出すことはできません。 グラフィックスコンテキストは、ほかのグラフィックスコンテキストから取得されるか、コンポーネントで 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)
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, 2013, Oracle and/or its affiliates. All rights reserved.