Garantia de carregamento de imagem

Ola a todos e me desculpem por mais uma duvida bem newbie aqui no forum.
Andei pesquisando e estou precisando para meu jogo um metodo de carregar imagem que garanta que as imagem foram carregadas antes de sair dele.
Fiz uma classe que é um gerenciador de recursos e ela possui varios atributospublic static Image que sao as imagens do meu jogo e eu crio uma instancia desse classe bem no inicio do jogo. Fiz desse modo porque percebi que assim vou ler da memoria apenas uma vez tornando o jogo mais rapido.

O problema é que as vezes elas estao sendo usadas antes de terem sido carregadas =/… Um exemplo do modo como tenho feito esta abaixo:

Image[] naveInimiga = new Image[7]; for (int i = 0; i < naveInimiga.length; i++) { filename = "/recursos/imagens/pac" + i + ".png"; url = GerenciadorDeRecursos.class.getResource(filename); naveInimiga[i] = Toolkit.getDefaultToolkit().getImage(url); naveInimiga[i] = naveInimiga[i].getScaledInstance(50, 50, Image.SCALE_DEFAULT); }

Dai li em alguns lugares que o MediaTracker faz load de imagens porem não garante que ela ja foi carregada… E tambem li que o ImageIO.read(url) garante que a imagem foi carregada(ele para o programa e espera ateh carregar).
Porem meu professor usou o MediaTracker da seguinte maneira para carregar com garantia que foi carregada:

[code] Image imagem = new Image();
String imagefile = “/images/block5.png”;
URL url = Item.class.getResource(imagefile);
imagem = Toolkit.getDefaultToolkit().getImage(url);

         try {
             MediaTracker mTracker = new MediaTracker(labirinto);
             mTracker.addImage(imagem, 1);
             mTracker.waitForID(1);
         } catch (InterruptedException ex) {
             Logger.getLogger(Bloco.class.getName()).log(Level.SEVERE, null, ex);
         }[/code]

Agora minha real duvida é se o ImageIO realmente para o programa até a imagem ser carregada… Qual o melhor maneira para garantir o carregamento de diversas imagens bem no inicio do programa?

Se alguem puder responder fico muito grato,
Abraços

Sim, use o ImageIO:
http://www.pontov.com.br/site/index.php/java/48-java2d/111-trabalhando-com-imagens

Já que está fazendo jogos, leia o resto dos tutoriais de java do Ponto V!

Opa Vini vlw pela resposta =)

Ando lendo sim seu site e alguns posts seu aki no forum(vo tentar logo logo fazer um tilemap que vc ensinou com matriz dispersa hehe) =)
Graças a seu site tb eu coloquei na cabeça que quero fazer um rpg2D onde as caracteristicas de personagens e monstros sejam feitas atravez de script groovy hehehe

Final de semestre agora e logo logo tenho que entregar meu jogo da diciplina de POO, dai vou postar aqui o codigo para todos poderem comentar meus erros de programacar e idéia e conto com sua critica :x.