Portál AbcLinuxu, 27. dubna 2024 03:56


Dotaz: Java: MediaTracker class

12.8.2009 11:26 L.A.
Java: MediaTracker class
Přečteno: 194×
Odpovědět | Admin

Dobry den, uz druhy den resim zapeklity problem. Programuji prohlizec obrazku. Metoda na jejich nacitani vypada zhruba takto:

    private void loadImages(int initialIndex)
    {
        for (int i = 0; i < 5; i++)
        {
            mediaTracker.addImage(getImage(i), i);
           
            try
            {
                mediaTracker.waitForID(i);
            } catch (InterruptedException ex)
            {
                ex.printStackTrace();
            }
        }

        if (mediaTracker.isErrorAny())
        {
            System.out.println("ERROR!");
            Object[] f = mediaTracker.getErrorsAny();
            for (int j = 0; j < f.length; j++)
                System.out.println(f[j]);
        }
    }

Touto metodou nactu prvnich 5 obrazku z adresare. Poprve vse funguje vyborne, zadny error se nevyskytne. V programu si uzivatel muze zvolit jiny adresar, jehoz fotky si chce prohlizet. V tom pripade mediaTracker procistim:

for (int i = 0; i < imagesCount; i++)
    mediaTracker.removeImage(getImage(i), i);
System.out.println("ERROR="+mediaTracker.isErrorAny());

Take bez chyby. Pote znovu volam metodu loadImages() aby z nove vybraneho adresare nacetla obrazky. Po druhem zavolani se vsak uz vyskytnou chyby a dostanu toto:

ERROR!
sun.awt.image.ToolkitImage@ee3aa7
sun.awt.image.ToolkitImage@4cd580
sun.awt.image.ToolkitImage@54f9f1
sun.awt.image.ToolkitImage@e576d4
sun.awt.image.ToolkitImage@dc86eb

Nejdriv jsem myslel, ze to muze byt tim, ze znovu prirazuji obrazky na stejne indexy (coz stejne podle dokumentace jde), tak jsem tam pro jistotu pridal to vymazani imageTrackeru, avsak to na tu chybu nema zadny vliv.

Dokumentaci v MediaTrackeru jsem dukladne celou procetl, ale nenarazil jsem tam na nic, co by mi pomohlo tuto chybu vyresit. Muzete mi prosim poradit?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.8.2009 11:44 L.A.
Rozbalit Rozbalit vše Re: Java: MediaTracker class
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak jak veli zakon schvalnosti, chvilku potom co jsem odeslal tento prispevek s tim, ze chybu uz sam nenajdu, se mi to povedlo. Nakonec se to vubec netykalo MediaTrackeru, ale spatnych cest k obrazkum, proto je MediaTracker nemohl najit.

Ze znacne casti je to ale i vina MediaTrackeru, protoze kdyby z nej bylo mozne dostat textovy popis chyby - neco ve smyslu "File xxx not found" tak by vse bylo mnohem jasnejsi...

12.8.2009 11:55 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Java: MediaTracker class
Otazka je, naco vlastne MediaTracker potrebujes ako taky; zo snippetov kodu v tomto a v tom minulom dotaze mi to nie je celkom jasne.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.