public void setDataElements (int x, int y, int w, int h, Object obj, DataBuffer data)

Sets the data for a rectangle of pixels in the specified DataBuffer from a primitive array of type TransferType. For image data supported by the Java 2D API, this will be one of DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or DataBuffer.TYPE_DOUBLE. Data in the array may be in a packed format, thus increasing efficiency for data transfers.

The following code illustrates transferring data for a rectangular region of pixels from DataBuffer db1, whose storage layout is described by SampleModel sm1, to DataBuffer db2, whose storage layout is described by SampleModel sm2. The transfer will generally be more efficient than using getPixels/setPixels.

       SampleModel sm1, sm2;
       DataBuffer db1, db2;
       sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w, h,
                           null, db1), db2);
 
Using getDataElements/setDataElements to transfer between two DataBuffer/SampleModel pairs is legitimate if the SampleModels have the same number of bands, corresponding bands have the same number of bits per sample, and the TransferTypes are the same.

obj must be a primitive array of type TransferType. Otherwise, a ClassCastException is thrown. An ArrayIndexOutOfBoundsException may be thrown if the coordinates are not in bounds, or if obj is not large enough to hold the pixel data.

Parameters:
x    The minimum X coordinate of the pixel rectangle.
y    The minimum Y coordinate of the pixel rectangle.
w    The width of the pixel rectangle.
h    The height of the pixel rectangle.
obj    A primitive array containing pixel data.
data    The DataBuffer containing the image data.

Exceptions:
NullPointerException    if data is null.
ArrayIndexOutOfBoundsException    if the coordinates are not in bounds, or if obj is too small to hold the input.

See also:
getNumDataElements, getTransferType, getDataElements(int, int, int, int, Object, DataBuffer), java.awt.image.DataBuffer