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

インタフェースWritableRenderedImage

すべてのスーパー・インタフェース:
RenderedImage
既知のすべての実装クラス:
BufferedImage

public interface WritableRenderedImage extends RenderedImage
WritableRenderedImageは、Rastersの形式でイメージ・データを含む、または生成することができ、変更および/または上書き可能なオブジェクトの共通インタフェースです。 イメージ・データは1つのタイルまたはタイルの規則正しい配列として格納または作成されます。

WritableRenderedImageは、タイルが書込みのためにgetWritableTileメソッドでチェック・アウトされたとき、および特定のタイルの最後のライターがreleaseWritableTileの呼出しでアクセスを放棄したときに、関連するほかのオブジェクトに通知を行います。 また、現在チェック・アウトされているタイルがあるかどうかを、呼出し側がhasTileWritersで判定したり、getWritableTileIndicesで、そのようなタイルのリストをPointオブジェクトのVectorの形で取得したりできるようにします。

タイルの書込み可能性の変更通知を必要とするオブジェクトは、TileObserverインタフェースを実装する必要があり、addTileObserverの呼出しによって追加されます。 同じオブジェクトで複数回addTileObserverを呼び出すと、複数の通知を受けることになります。 既存のオブザーバの場合、removeTileObserverの呼出しで通知を減らすことができます。オブザーバが通知を持たない場合、オペレーション側では何も行いません。

WritableRenderedImageでは、最初のライターがタイルを取得し、最後のライターがそれを解放したときにだけ通知が行われるようにする必要があります。

  • メソッドの詳細

    • addTileObserver

      void addTileObserver(TileObserver to)
      オブザーバを追加します。 オブザーバがすでにある場合は、複数の通知を受け取ることになります。
      パラメータ:
      to - 指定されたTileObserver
    • removeTileObserver

      void removeTileObserver(TileObserver to)
      オブザーバを削除します。 オブザーバが登録されていなかった場合は、何も行われません。 オブザーバが複数の通知に対して登録されていた場合は、1つ少なくなります。
      パラメータ:
      to - 指定されたTileObserver
    • getWritableTile

      WritableRaster getWritableTile(int tileX, int tileY)
      書込みのためにタイルをチェック・アウトします。 WritableRenderedImageは、タイルにライターがない状態からライターが1つある状態に変わったときに、すべてのTileObserverに通知を行います。
      パラメータ:
      tileX - タイルのXインデックス。
      tileY - タイルのYインデックス。
      戻り値:
      書込み可能なタイル。
    • releaseWritableTile

      void releaseWritableTile(int tileX, int tileY)
      タイルに書き込む権利を放棄します。 呼出し側がタイルへの書込みを続けた場合、結果は保証されません。 このメソッドの呼出しは、getWritableTileの呼び出しとの対でのみ使用します。それ以外の方法で使用した場合、結果は保証されません。 WritableRenderedImageは、タイルにライターが1つある状態からライターがない状態に変わったときに、すべてのTileObserverに通知を行います。
      パラメータ:
      tileX - タイルのXインデックス。
      tileY - タイルのYインデックス。
    • isTileWritable

      boolean isTileWritable(int tileX, int tileY)
      タイルが現在書込みのためにチェック・アウトされているかどうかを返します。
      パラメータ:
      tileX - タイルのXインデックス。
      tileY - タイルのYインデックス。
      戻り値:
      指定されたタイルが書込み用にチェック・アウトされている場合はtrue、そうでない場合はfalse
    • getWritableTileIndices

      Point[] getWritableTileIndices()
      どのタイルが書込みのためにチェック・アウトされているかを示すPointオブジェクトの配列を返します。 チェック・アウトされているタイルがない場合はnullを返します。
      戻り値:
      書込み用にチェック・アウトされたタイルの位置を格納する配列
    • hasTileWriters

      boolean hasTileWriters()
      書込みのためにチェック・アウトされているタイルがあるかどうかを返します。 (getWritableTileIndices()!= null)と同じです。
      戻り値:
      タイルが書込み用にチェック・アウトされている場合はtrue、そうでない場合はfalse
    • setData

      void setData(Raster r)
      イメージの矩形を、WritableRenderedImageと同じ座標空間にあると見なされるRaster rの内容に設定します。 オペレーションはWritableRenderedImageの境界にクリッピングされます。
      パラメータ:
      r - 指定されたRaster