# Wozu ein ImageObserver ???



## Androbin (9. Mai 2014)

Hallo liebe Community,
ich habe hier ein kleines Verständnis-Problem : 
Wenn ich in einer paint-Methode "drawWhatEver" aufgerufen habe, :bahnhof:
habe ich bisher immer "null" als ImageObserver übergeben und es hat soweit auch alles gepasst :toll:
Aber jetzt wollen "die" mir weismachen, ich müsste die JComponent angeben, auf der ich zeichne :autsch:
Könntet ihr mir das bitte erklären :rtfm:


----------



## turtle (10. Mai 2014)

ImageObserver ist ein Interface und informiert über den Zustand wie ein Image geladen wird.

Laden eines Images ist asynchon und daher die Frage, WANN ist das Image fertig geladen und kann verwendet werden (siehe Methode imageUpdate).


----------



## Androbin (10. Mai 2014)

: turtle *8*
Danke, aber was macht die Methode "imageUpdate" :question:


----------



## turtle (10. Mai 2014)

RTFM

```
boolean imageUpdate(Image img,
                    int infoflags,
                    int x,
                    int y,
                    int width,
                    int height)
This method is called when information about an image which was previously requested using an asynchronous interface becomes available. Asynchronous interfaces are method calls such as getWidth(ImageObserver) and drawImage(img, x, y, ImageObserver) which take an ImageObserver object as an argument. Those methods register the caller as interested either in information about the overall image itself (in the case of getWidth(ImageObserver)) or about an output version of an image (in the case of the drawImage(img, x, y, [w, h,] ImageObserver) call).
This method should return true if further updates are needed or false if the required information has been acquired. The image which was being tracked is passed in using the img argument. Various constants are combined to form the infoflags argument which indicates what information about the image is now available. The interpretation of the x, y, width, and height arguments depends on the contents of the infoflags argument.

The infoflags argument should be the bitwise inclusive OR of the following flags: WIDTH, HEIGHT, PROPERTIES, SOMEBITS, FRAMEBITS, ALLBITS, ERROR, ABORT.

Parameters:
img - the image being observed.
infoflags - the bitwise inclusive OR of the following flags: WIDTH, HEIGHT, PROPERTIES, SOMEBITS, FRAMEBITS, ALLBITS, ERROR, ABORT.
x - the x coordinate.
y - the y coordinate.
width - the width.
height - the height.
Returns:
false if the infoflags indicate that the image is completely loaded; true otherwise.
See Also:
WIDTH, HEIGHT, PROPERTIES, SOMEBITS, FRAMEBITS, ALLBITS, ERROR, ABORT, Image.getWidth(java.awt.image.ImageObserver), Image.getHeight(java.awt.image.ImageObserver), Graphics.drawImage(java.awt.Image, int, int, java.awt.image.ImageObserver)
```


----------



## kaoZ (14. Mai 2014)

z.B verwendet um während des ladens des Bildes eine Progressbar oder ähnliches darzustellen insofern ich mich nicht täusche


----------

