Wann ist die größe eines Image bekannt?

Matze

Weltenwanderer
Hi,

ich habe hier einen Konstruktor, der ein Image lädt und die dazugehörige Breite und Höhe in jeweils eine Variable hineinschreiben soll. Nur leider erhalte ich anstadt dieser Werte immer -1, was laut Java API darauf hinweist, dass diese Werte jetzt noch nicht bekannt sind. Meine Frage: Was kann ich noch machen um die Größe herauszufinden oder wann sind die Werte bekannt?

Konstruktor:
Code:
imgBild = Toolkit.getDefaultToolkit().getImage("Bilder"+ System.getProperty("file.separator") + "Bild.png");
this.iXKoord = 165;
this.iYKoord = 716;
MyImageObserver IMOB = new MyImageObserver();
this.iWidth  = imgBild.getWidth(IMOB);
this.iHeight = imgBild.getHeight(IMOB);
 
Moin!
Das Bild wird über einen eigenen Thread geladen, daher ist es nicht garantiert, das es auch schon bereit steht, nachdem die getImage() Methode aufgerufen wurde.

Du hast da 2 Möglichlichkeiten. Entweder mittels eines Mediatrackers sicherstellen, das die Bilder fertig geladen wurden, oder den ImageObserver verwenden. (Du hast da ja einen implementiert, was macht der denn?)...
Wie man einen ImageObserver für sowas einsetzt, kannst du zum Beispiel hier sehen:
http://forum.java.sun.com/thread.jspa?forumID=20&threadID=234735

*grüssle*
MeinerEiner
 
Thx, hat mit dem MediaTracker Wunderbar geklappt.

Lösung:
Code:
imgBild = Toolkit.getDefaultToolkit().getImage("Bilder"+ System.getProperty("file.separator") + "Bild.png");
MediaTracker tracker = new MediaTracker(new Panel());
tracker.addImage(imgBild, Variablen.I_KLASSE_A);
tracker.waitForAll();
this.iXKoord = 165;
this.iYKoord = 716;
MyImageObserver IMOB = new MyImageObserver();
this.iWidth  = imgBild.getWidth(IMOB);
this.iHeight = imgBild.getHeight(IMOB);

Edit. Bewertung ist leider nicht möglich. Wie viele Bewertungen muss man vergeben um die selbe Person erneut bewerten zu könne?
 
Zurück