Existe-t-il une alternative à getClass (). GetResource () pour un Static ImageIcon

Ok, j'ai un ImageIcon statique et l'image n'apparaît pas. Dans le même programme j'utilise d'autres ImagesIcon mais ils ne sont pas statiques donc quand je les déclare je le fais comme ceci:

public ImageIcon blabla = new ImageIcon(getClass().getResource(blabla.png)); 

Mais si je déclare un Static ImageIcon je ne peux pas utiliser cette ligne car on ne peut pas accéder à getClass() à partir d'une valeur statique. En ce moment, ces images n'apparaissent pas en utilisant ceci:

public static ImageIcon blabla = new ImageIcon(blabla.png); 

Merci de votre aide!

public static ImageIcon networkOfflineIcon = new ImageIcon("Images/networkOfflineIcon.png");
public static ImageIcon networkIcon = new ImageIcon("Images/networkIcon.png");
protected static JMenuItem jmiRemote = new JMenuItem("  Remote", networkOfflineIcon);
//************************************************************************
public static void changeNetWorkStatus(boolean network_status)          
//************************************************************************
{
    if(network_status){
        Application.jmiRemote.setIcon(networkIcon);
        Application.jmiRemote.setText("NetWork Online/Remote is On");
        Application.lockScreenRemote();

    }else if(!network_status){
        Application.jmiRemote.setIcon(networkOfflineIcon);
        Application.jmiRemote.setText("NetWork Offline/Remote is Off");
        Application.unlockScreenRemote();
    }
}//DOESNT CHANGE THE IMAGE
//************************************************************************
0
Essayez d'éviter des choses comme si (t == true) et si (t == false) , utilisez if (t) et if (! t) à la place.
ajouté l'auteur rlegendi, source

1 Réponses

Dans un contexte statique, vous pouvez écrire:

public ImageIcon imageIcon = new ImageIcon(MyClass.class.getResource("icon.png"));

Or, alternatively try ImageIO.read(new File("icon.png"))

0
ajouté
Fonctionne bien maintenant merci pour le correctif rapide je vais aussi éviter (t == true)
ajouté l'auteur Alex, source
ImageIO.read n'est pas la meilleure suggestion puisque vous devez gérer les exceptions qu'il déclenche. Je m'en tiens à la première suggestion et j'utilise MyClass.class .
ajouté l'auteur Tot Zam, source
Bien sûr, heureux que cela a aidé.
ajouté l'auteur rlegendi, source