TOM: image.getWidth(this) ergibt -1. Was is falsch?

Hallo und guten morgen leuts:)

Ich hab folgendes prob:

<Ausschnitt>

Image txtimg = getImage(getDocumentBase(),this.txtimgsrc[i][j]);
 this.hoehe[i][j] = txtimg.getHeight(this);
 this.breite[i][j] = txtimg.getWidth(this);

</Ausschnitt>

Die Arrays hoehe und breite sind ok, genauso wie txtimgsrc.

Das image existiert auch sicherlich, weil man es so auch malen kann.

aber txtimg.getHeight/Width(this); gibt immer -1 zurück. Warum das?

Und was heißt das?

Danke für die Hilfe TOM

greets from Erlangen Central -- TOM

  1. Hi

    -1 is das Ergebnis, wenn das Bild noch nicht geladen wurde.

    Die Lösung: Arbeiten mit Threads:

    ich rufe das auf: prepareImage(this.txtimgsrc[i][j],i,j);

    public void prepareImage(String Quelle, int i, int j)
            {
             //Bild laden
              Image image = getImage(getDocumentBase(),Quelle);
              MediaTracker mt = new MediaTracker(this);
              mt.addImage(image, 0);
              try {
              //Warten, bis das Image vollständig geladen ist,
                 mt.waitForAll();
               } catch (InterruptedException e) {
               //nothing
               }
               this.hoehe[i][j] = image.getHeight(this);
               this.breite[i][j]  = image.getWidth(this);
            }

    Ich hoffe man kapiert es !?

    greetings from Erlangen Central -- TOM