JavaTM 2 Platform
Std. Ed. v1.3

java.awt.image
インタフェース WritableRenderedImage

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

public interface WritableRenderedImage
extends RenderedImage

WriteableRenderedImage は、Raster の形式でイメージデータを格納したり作成したりすることができ、変更や上書きが可能なオブジェクトのための共通インタフェースです。イメージデータは 1 つのタイルまたはタイルの規則正しい配列として格納または作成されます。

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

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

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


メソッドの概要
 void addTileObserver(TileObserver to)
          オブザーバを追加します。
 WritableRaster getWritableTile(int tileX, int tileY)
          書き込みのためにタイルをチェックアウトします。
 Point[] getWritableTileIndices()
          どのタイルが書き込みのためにチェックアウトされているかを示す Point オブジェクトの配列を返します。
 boolean hasTileWriters()
          書き込みのためにチェックアウトされているタイルがあるかどうかを返します。
 boolean isTileWritable(int tileX, int tileY)
          タイルが現在書き込みのためにチェックアウトされているかどうかを返します。
 void releaseWritableTile(int tileX, int tileY)
          タイルに書き込む権利を放棄します。
 void removeTileObserver(TileObserver to)
          オブザーバを削除します。
 void setData(Raster r)
          イメージの矩形を、WritableRenderedImage と同じ座標空間にあると見なされる Raster r の内容に設定します。
 
インタフェース java.awt.image.RenderedImage から継承したメソッド
copyData, getColorModel, getData, getData, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTile, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth
 

メソッドの詳細

addTileObserver

public void addTileObserver(TileObserver to)
オブザーバを追加します。オブザーバがすでにある場合は、複数の通知を受け取ることになります。

removeTileObserver

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

getWritableTile

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

releaseWritableTile

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

isTileWritable

public boolean isTileWritable(int tileX,
                              int tileY)
タイルが現在書き込みのためにチェックアウトされているかどうかを返します。
パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス

getWritableTileIndices

public Point[] getWritableTileIndices()
どのタイルが書き込みのためにチェックアウトされているかを示す Point オブジェクトの配列を返します。チェックアウトされているタイルがない場合は null を返します。

hasTileWriters

public boolean hasTileWriters()
書き込みのためにチェックアウトされているタイルがあるかどうかを返します。(getWritableTileIndices() != null) と同じです。

setData

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

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.