1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
/**
* Proxy d'icône affichant l'icône d'attente waitIcon tant que
* le chargement de l'icône contenue dans le paramètre content du constructeur
* n'est pas chargée
*/
private class IconProxy implements Icon {
private Icon icon;
public IconProxy(final Content content, final int height,
final Component waitingComponent,
final Icon errorIcon, Icon waitIcon) {
this.icon = waitIcon; //Utilisation d'une icone d'attente
// Lancement dans un treads séparé du chargement de l'icône,
//puis redessin du composant en attente
iconsLoader.execute(new Runnable () {
public void run() {
icon = createIcon(content, height, errorIcon);
waitingComponent.repaint();
}
});
}
public int getIconWidth() {// renvoie la largeur de l'icône courante
return this.icon.getIconWidth();
}
public int getIconHeight() {// renvoie la hauteur de l'icône courante
return this.icon.getIconHeight();
}
//Dessine dans le composant c l'icône courante aux coordonées x,y
public void paintIcon(Component c, Graphics g, int x, int y) {
this.icon.paintIcon(c, g, x, y);
}
} |
Partager