// Last edited on 2000-09-01 09:11:20 by stolfi // Sane image loading import java.awt.Image; import java.awt.MediaTracker; import java.net.URL; import InterfaceGrafica; public class PlinImage { public static Image getImage(InterfaceGrafica raiz, String imageName) { // Loads the named image and waits for it to finish loading. URL baseURL = raiz.getCodeBase(); MediaTracker tracker = new MediaTracker(raiz); Image img; raiz.mensagem("Carregando imagem " + baseURL.toString() + imageName); img = raiz.getImage(baseURL, imageName); tracker.addImage(img, 0); try { tracker.waitForAll(); if (tracker.isErrorAny()) { System.out.println("Erro na carga da imagem " + imageName); } } catch(InterruptedException e) { System.out.println("carga de imagens interrompida " + e); } int wd = img.getWidth(null); int ht = img.getHeight(null); raiz.mensagem("Imagem " + baseURL.toString() + imageName + " carregada (" + wd + " × " + ht + ")" ); return(img); } public static Image[] getImages(InterfaceGrafica raiz, String imageName[]) { // Loads the named images and waits for them to finish loading. URL baseURL = raiz.getCodeBase(); MediaTracker tracker = new MediaTracker(raiz); int n = imageName.length; Image[] img = new Image[n]; int i; for (i = 0; i < n; i++) { raiz.mensagem("Carregando imagem " + baseURL.toString() + imageName[i]); img[i] = raiz.getImage(baseURL, imageName[i]); tracker.addImage(img[i], i); } try { tracker.waitForAll(); if (tracker.isErrorAny()) { System.out.println("Erro na carga de imagens"); } } catch(InterruptedException e) { System.out.println("carga de imagens interrompida " + e); } return(img); } }