モジュール java.desktop
パッケージ java.awt

クラスGraphics

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

public abstract class Graphics extends Object
Graphicsクラスは、アプリケーションがさまざまなデバイス上に実現されたコンポーネントやオンスクリーン・イメージ上に描画できるようにする、すべてのグラフィックス・コンテキストのための抽象基底クラスです。

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

  • 描画対象のComponentオブジェクト。
  • 描画のための変換の起点とクリッピング座標。
  • 現在のクリップ。
  • 現在の色。
  • 現在のフォント。
  • 現在の論理ピクセル操作機能(XORまたはPaint)。
  • 現在のXOR変更色(setXORMode(java.awt.Color)を参照してください)。

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

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

  • 指定された矩形をカバーする図形を描く場合、その図形で右と最下部の辺にピクセルをもう一列余分に表示するようにする。その点で、同じ矩形の内部を埋め込むのとは異なる。
  • テキスト・ラインのベースラインと同じy座標に沿って水平線を描く場合、文字がベースラインより下に延びる部分を除き、テキストより完全に下に線を描く。

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

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

導入されたバージョン:
1.0
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    新しい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
    このGraphicsオブジェクトのコピーである新しいGraphicsオブジェクトを作成します。
    create(int x, int y, int width, int height)
    このGraphicsオブジェクトに基づいた新しいGraphicsオブジェクトを、新しい変換およびクリップ領域で作成します。
    abstract void
    このグラフィックス・コンテキストを破棄して、使用中のシステム・リソースがあればそれを解放します。
    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
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は削除のために非推奨になりました。
    abstract Shape
    現在のクリッピング領域を返します。
    abstract Rectangle
    現在のクリッピング領域の境界の矩形を返します。
    現在のクリッピング領域の境界の矩形を返します。
    非推奨。
    JDK Version 1.1以降は、getClipBounds()に置き換えられています。
    abstract Color
    このグラフィックス・コンテキストの現在の色を返します。
    abstract Font
    現在のフォントを返します。
    現在のフォントのフォント・メトリックを返します。
    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
    setClip(Shape clip)
    現在のクリッピング領域を任意のクリップ形状に設定します。
    abstract void
    このグラフィックス・コンテキストの現在の色を、指定された色に設定します。
    abstract void
    setFont(Font font)
    このグラフィックス・コンテキストのフォントを、指定されたフォントに設定します。
    abstract void
    このグラフィックス・コンテキストの現在の色でデスティネーションを上書きするように、ペイント・モードを設定します。
    abstract void
    このグラフィックス・コンテキストの現在の色と新しく指定された色を切り替えるように、グラフィックス・コンテキストのペイント・モードを設定します。
    この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は抽象クラスなので、アプリケーションはこのコンストラクタを直接呼び出すことはできません。 グラフィックス・コンテキストは、ほかのグラフィックス・コンテキストから取得されるか、コンポーネントで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点以外については元のグラフィックス・コンテキストと同じです。
      • 新しいグラフィックス・コンテキストは(xy)だけ平行移動される。 つまり、新しいグラフィックス・コンテキストの点(00)は元のグラフィックス・コンテキストの点(xy)と同じとなる。
      • 新しいグラフィックス・コンテキストは、元のグラフィックス・コンテキストから継承された変換後のクリッピング矩形が何であろうと、追加のクリッピング矩形を持つ。 新しいクリッピング矩形の原点は(00)にあって、そのサイズはwidth引数とheight引数で指定される。
      パラメータ:
      x - x座標。
      y - y座標。
      width - クリッピング矩形の幅。
      height - クリッピング矩形の高さ。
      戻り値:
      新しいグラフィックス・コンテキスト。
      関連項目:
    • translate

      public abstract void translate(int x, int y)
      グラフィックス・コンテキストの原点を現在の座標系内の点(xy)に平行移動します。 このグラフィックス・コンテキストを、新しい原点がこのグラフィックス・コンテキストの元の座標系の点(xy)に一致するように変更します。 このグラフィックス・コンテキストに行われた、これ以降の描画操作に使用される座標はすべてこの原点に相対的な値となります。
      パラメータ:
      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引数は通知なく無視されます。
      パラメータ:
      font - フォント。
      関連項目:
    • 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)
      コンポーネントの領域を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 - 塗りつぶされる矩形の高さ。
      関連項目:
    • drawRect

      public void drawRect(int x, int y, int width, int height)
      指定された矩形の輪郭を描きます。 矩形の左端と右端はxx + widthにあります。 上端と下端はyy + 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)
      丸いコーナー付きの輪郭の矩形を、このグラフィックス・コンテキストの現在の色を使用して描きます。 矩形の左端と右端は、それぞれxx + widthにあります。 矩形の上端と下端はyy + 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)
      指定された丸いコーナー付きの矩形を現在の色で塗りつぶします。 矩形の左端と右端は、それぞれxx + width - 1にあります。 矩形の上端と下端はyy + 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)
      楕円の輪郭を描きます。 引数のxywidthheightで指定される矩形内に収まる円または楕円が描かれます。

      楕円は、幅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 時の位置にあるように解釈されます。 正の値は反時計方向、負の値は時計方向の回転を示します。

      弧の中心は、原点が(xy)で、サイズが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 時の位置にあるように解釈されます。 正の値は反時計方向、負の値は時計方向の回転を示します。

      弧の中心は、原点が(xy)で、サイズが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座標の配列によって定義された連続的につながった直線を描画します。 点を定義する(xy)座標の各ペア。 最初の座標と最後の座標が一致しない場合、図形は閉じません。
      パラメータ:
      xPoints - x点の配列
      yPoints - y点の配列
      nPoints - 点の総数
      導入されたバージョン:
      1.1
      関連項目:
    • drawPolygon

      public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
      xおよびy座標の配列によって定義された閉じた多角形を描画します。 点を定義する(xy)座標の各ペア。

      このメソッドは、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)
      このグラフィックス・コンテキストの現在のフォントと色を使い、指定された文字列によって指定されたテキストを描きます。 左端の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(xy)にあります。
      パラメータ:
      str - 描画される文字列。
      x - x座標。
      y - y座標。
      例外:
      NullPointerException - strnullの場合。
      関連項目:
    • drawString

      public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
      指定されたイテレータのテキストを、その属性をTextAttributeクラスの仕様に従って適用しながら描画します。

      左端の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(xy)にあります。

      パラメータ:
      iterator - 描画されるテキストを持つイテレータ
      x - x座標。
      y - y座標。
      例外:
      NullPointerException - iteratornullの場合。
      関連項目:
    • drawChars

      public void drawChars(char[] data, int offset, int length, int x, int y)
      このグラフィックス・コンテキストの現在のフォントと色を使い、指定された文字配列によって指定されたテキストを描きます。 最初の文字のベースラインは、このグラフィックス・コンテキストの座標系内の位置(xy)にあります。
      パラメータ:
      data - 描画される文字の配列
      offset - データ内の開始オフセット
      length - 描画される文字数
      x - テキストのベースラインのx座標
      y - テキストのベースラインのy座標
      例外:
      NullPointerException - datanullの場合。
      IndexOutOfBoundsException - offsetまたはlengthが0より小さい場合、またはoffset+lengthdata配列の長さより大きい場合。
      関連項目:
    • drawBytes

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

      各バイトは範囲0 - 255のUnicodeコード・ポイントとして解釈されるため、このメソッドの使用は非推奨です。この範囲にあるラテン文字を描く場合だけ使用できます。

      パラメータ:
      data - 描画されるデータ
      offset - データ内の開始オフセット
      length - 描画されるバイト数
      x - テキストのベースラインのx座標
      y - テキストのベースラインのy座標
      例外:
      NullPointerException - datanullの場合。
      IndexOutOfBoundsException - offsetまたはlengthが0より小さい場合、またはoffset+lengthdata配列の長さより大きい場合。
      関連項目:
    • 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
      関連項目:
    • 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
      関連項目:
    • 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
      関連項目:
    • 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
      関連項目:
    • 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
      導入されたバージョン:
      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)
      指定されたイメージの指定された領域の利用可能な部分を描きます。指定された領域の内部に収まるようにただちにスケーリングして描きます。

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

      このメソッドは、描画されるイメージ領域が現在の出力デバイスに対してスケーリング済み、ディザリング済み、変換済みでなくても、すべての場合にただちに復帰します。 現在の出力表現がまだ完全でない場合、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
      導入されたバージョン:
      1.1
      関連項目:
    • dispose

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

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

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

      関連項目:
    • finalize

      @Deprecated(since="9", forRemoval=true) public void finalize()
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      最終決定は削除のために非推奨になりました。 移行オプションについてのバックグラウンド情報および詳細は、Object.finalize()を参照してください。
      参照されなくなった、このグラフィックス・コンテキストを破棄します。
      オーバーライド:
      finalize、クラス: Object
      関連項目:
    • toString

      public String toString()
      このGraphicsオブジェクトの値を表すStringオブジェクトを返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このグラフィックス・コンテキストの文字列表現。
    • 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

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