[ djuro dabic @ 02.04.2006. 13:06 ] @
Napravio sam izvrsni jar fajl i u njega sam smestio sve klase i resurse koji mu trebaju za rad. To sve lepo radi, osim do trenutka kada treba da ucita slike. Ne moze da pronadje putanju do slika. Kada pokrenem aplikaciju iz Eclipse-a sve se prikazuje kako treba. Jel' ima neko ideju u cemu bi mogao da bude problem. Za ucitavanje slika koristim metodu getResource(putanja_do_fajla). Kao sto vec rekoh kada pokrenem iz Eclipse-a sve funkcionise.

Unapred zahvalan!
[ rj444 @ 02.04.2006. 23:46 ] @
Nemoj da pakujes i slike u jar fajl. Nego u isti dir kao i taj jar fajl. Pa onda pristupas preko relativnih putanja.

Npr. imas folder program u kom je jar fajl i folder slike u kom je fajl slika.jpg.
Tada iz klase koja je u jar fajlu pristupas fajlu slika.jpg preko relativne putanje: "slike/slika.jpg" ili "slike\\slika.jpg".
[ logotet @ 03.04.2006. 16:18 ] @
Ja bih radije
Code:
    private Image getLogo() {
        Image tmp;
        tmp = null;
        String spec = "/com/logotet/images/logo.png";     
        try {

            URL url;
            url = getClass().getResource(spec);
            tmp = Toolkit.getDefaultToolkit().getImage(url);
            MediaTracker tracker = new MediaTracker(this);
            tracker.addImage(tmp, 0);
            tracker.waitForAll();
        } catch (InterruptedException exc) {
        }
        return tmp;

    }

jer uvek koristim "/" bez obzira na pravi file delimiter, tj. operativni sistem, i bez obzira gde mi se jar nalazi.
Mislim da bi koristio clanak na http://www.javaworld.com/javaq...-08/01-qa-0808-property_p.html

BTW, pogledaj kroz winzip da li su ti slike u JARu bas tamo gde ti putanja ukazuje. Takodje, proveri da li u getResource(putanja) putanja pocinje sa "/", ja sam imao slicne probleme sa IntelliJ Idea, dok nisam uocio da mi fali slash.

[Ovu poruku je menjao logotet dana 03.04.2006. u 17:22 GMT+1]
[ djuro dabic @ 04.04.2006. 02:17 ] @
Pokusao sam oba predloga, medjutim nijedan nije uspeo. Koliko ja mogu da zakjucim, problem je u putanji do direktorijuma slike. Ako se sve nalazi u npr.
c:\program\program.jar (slike koje se ucitavaju su unutar program.jar fajla)
ili
c:\program\slike\slika.jpg (slike su van program.jar fajla)
c:\program\program.jar
najlogicnije bi bilo da ja kada uzimam sliku pozovem samp getClass().getResource("(/)slike/slika.jpg) i to radi kada program pokrecem iz Eclipse-a.
Pretpostavljam da je osnovna putanja kada se JAR pokrece pomerena na neko drugo mesto. Cak sam probao da direktorijum sa slikama ubacim unutar direktorijuma JDK i JRE ali ni to nije pomoglo. Kako da vidim koja je putanja na kojoj se izvrsava program? Mislim da bi to moglo da dovede do resenja.
[ hyle @ 04.04.2006. 08:11 ] @
Putanju na kojoj se izvrsava program dobijas na sledeci nacin:
System.getProperties().get("user.dir").toString()
[ logotet @ 04.04.2006. 08:36 ] @
A da li si proverio u JAR fajlu kako su poredjani direktorijumi ? Ja to pogledam pomocu winzip-a, nekako sam tako najsigurniji, da mi sve odgovara mojoj strukturi package-a.
Odnosno, direktorijum sa slikama je u rangu package direktorijuma. Onaj prvi salsh "/" je "root" za package strukturu.
Ako ovo sto sam pomalo rogobatno napisao nije jasno, kazi kako ti se zove package gde je tvoja klasa koja radi sa slikom, i u kakvom je odnosu taj njen folder prema folderu sa slikama ? To je kljucno za razumevanje getClass().getResource("/...");

[Ovu poruku je menjao logotet dana 04.04.2006. u 09:43 GMT+1]
[ djuro dabic @ 09.04.2006. 01:52 ] @
Hvala na savetima bili su vrlo zanimljivi, ali pre svega uspesni.
Postavio sam novu problematiku pa ako neko zna odgovor neka pogleda o cemu se radi na temi

http://www.elitesecurity.org/tema/170859/0#1109421

Unapred zahvalan.