Există o alternativă la getClass () getResource () pentru un ImageIcon static

Ok, deci am un ImageIcon static și imaginea nu apare. În același program folosesc și alte imaginiIcon dar ele nu sunt statice, așa că atunci când le declar că fac așa:

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

Dar dacă declar un static ImageIcon nu pot folosi acea linie deoarece nu poți obține acces la getClass() de la o valoare statică. În momentul de față, aceste imagini nu apar utilizând:

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

Multumesc pentru ajutor!

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
Încercați să evitați chestii precum dacă (t == true) și if (t == false) > if (! t) în schimb.
adăugat autor rlegendi, sursa

1 răspunsuri

Într-un context static, puteți scrie:

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

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

0
adăugat
Funcționează bine acum, vă mulțumesc pentru remedierea rapidă voi evita, de asemenea (t == true)
adăugat autor Alex, sursa
ImageIO.read nu este cea mai bună sugestie deoarece trebuie să rezolvați excepțiile pe care le aruncă. M-aș alătura primei sugestii și folosesc MyClass.class .
adăugat autor Tot Zam, sursa
Sigur, bucuros că a ajutat.
adăugat autor rlegendi, sursa