Bonjour,

les images utilisées par une classe sont toujours les mêmes et je souhaite donc que cet attribut devienne une constante (final static) au lieu qu'il soit propre à chaque objet. Jusqu'à maintenant j'utilisais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
// Attribut d'instance
private ImageIcon ICON_FOLDER;
 
// Initialisation dans le construcuteur
this.ICON_FOLDER = new ImageIcon(this.getClass().getClassLoader().getResource("images/mini/folder.png"));
Bien sûr il n'est pas possible de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
private final static ImageIcon ICON_FOLDER = new ImageIcon(this.getClass().getClassLoader().getResource("images/mini/folder.png"));
Comment optimiser cela ? Une solution de ce genre conviendrait-elle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
private final static ImageIcon ICON_FOLDER = null;
 
public MonConstructeur {
    // ...
    if (ICON_FOLDER == null) {
        ICON_FOLDER = this.getClass().getClassLoader().getResource("images/mini/folder.png");
    }
    // ...
}
Je dois reconnaître l'avantage d'utiliser this.getClass().getClassLoader().getResource(...), c'est qu'il fonctionne lors de l'utilisation d'un JAR ou non.


Merci d'avance