Kommer nok af, at dit billede ikke bliver loadet ind - når du så bruger det for første gang så kommer den exception. Ovenstående er jeg dog ikke helt sikker på (kun et bud) - er lidt svært at lave et mere kvalificeret bud uden at kende til mere end de to linier.
public class NewTextureLoader extends TextureLoader {
public NewTextureLoader(String fname){ super("images/" + fname, observer); }
static Component observer;
public static void setImageObserver(Component imageObserver){ observer = imageObserver; }
public static Component getImageObserver(){ return observer; }
Det var så det.. det virker fint lokalt men når så jeg skal til at benytte den i min applet er det den brokker sig.. og jeg har sendt biblioteket med over i jar filen... det skal lige siges at det var et stykke kode jeg har funde på nettet og har været så fri at kopiere..
Du skal nok gøre som arne_v foreslår, dvs. benytte dig af klassens ressource manager eller klasse loaderens ressource manager... Den måde du henter dit billede ind på er en typisk begynder fejl... (du er ikke den første der er stødt ind i problemet ;-) ) dvs. noget lign.
getClass().getResource("path")
Hvor path så er path'en til filen - relativt fra din NewTextureLoader.class fil.
nå men jeg kan ikke helt komme videre.. jeg vil til at lure lidt på den der med ressource manageren...
men her er lige toppen af exeptionen hvis det er....
Error loading Image images/woodpine.jpg Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javax.media.j3d.ImageComponent2D.<init>(ImageComponent2D.java:167) at com.sun.j3d.utils.image.TextureLoader.getImage(TextureLoader.java:523) at engine.Wall3D.createAppearance(Wall3D.java:343) at engine.Wall3D.<init>(Wall3D.java:50) at engine.Generate3D.generate3D(Generate3D.java:114) at engine.Generate3D.startShowing3D(
kom så arne v jeg ved du kan hjælpe med den her.... guru
jeg har endt ud med at ligge billederne ved siden af jar filen.. det var lige det eneste jeg kunne finde på.. det virker meget godt men jeg ville jo gerne have dem til at ligge inde i jar filen...
Det skal lige siges, at ovenstående kode er testkode (som pakke navnet antyder) dvs. jeg anbefaler dig ikke at bruge det i dit program da den indeholder design fejl!
Det der skal lægges mærke til er, at getResource(path) henter den resource relativ til din klassefil. Hvis du vil have den "absolutte" i stedet for, må du lige sige til...
vil det sige at hvis jeg skal hente et billede med getResource(path) så skal billederne ligge i den samme mappe som selve class filen?? har jeg ret i det?? eller er jeg fuldstændig off?
og hvordan kan det være at jeg får en nullPointer når jeg forsåger at benytte getResource(path)? Jeg mener hvis jeg laver en sysout på this.getClass().getResource(path) skriver den null ud... det er ikke super nice...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.