Buongiorno, sto realizzando un videogame, le immagini utilizzate sono moltissime (circa 50), DEVO caricarle tutte all'inizio con un mediatracker. Ho creato una classe per farlo:
public class Immagini implements Runnable{
Thread t;
FramePrincipale rootFrame;
Toolkit tk= Toolkit.getDefaultToolkit();
MediaTracker md = new MediaTracker(rootFrame);
public Image arrayIm [] = new Image [37];
public Immagini() {
t.start();
}
@Override
public void run() {
arrayIm[0]=tk.getImage("./Immagini/SchermataPrincipale.png");
arrayIm[1]= tk.getImage("./Immagini/bottoni/Buttons_StartQuest.png");
arrayIm[2]= tk.getImage("./Immagini/bottoni/Buttons_Option.png");
arrayIm[3]= tk.getImage("./Immagini/bottoni/Buttons_Instruction.png");
.........
.........
.....
for (int i = 0; i < arrayIm.length; i++) {
md.addImage(arrayIm[i], i);
}
try {
md.waitForAll();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
Nel pannello chiamo la funzione, ma mi da errori sul thread e non mi fa eseguire:
Exception in thread "main" java.lang.NullPointerException

Rispondi quotando