palestrato ha scritto:
ImageIcon icon = new ImageIcon(".\\img\\pc.png");
ImageIcon icon2 = new ImageIcon(".\\img\\server_attivo.gif");
Questi non sono sbagliati, di per sé ma: a) sono relativi alla directory corrente e b) le due immagini non possono stare dentro un jar perché non verrebbero trovate.
La soluzione è trattare le immagini come "risorse" secondo quanto inteso dai getResource/getResourceAsStream di Class.
Se hai una TuaClasse in un certo package e metti le immagini in quello stesso package, puoi fare:
ImageIcon icon = new ImageIcon(TuaClasse.class.getResource("pc.png"));
TuaClasse.class è un class "literal". Se sei in un costruttore/metodo di istanza di TuaClasse puoi usare anche this.getClass(). L'importante è che alla fine risulti il java.lang.Class relativo alla classe il cui package fa da base per la immagine.
E a quel punto le immagini possono stare dentro un jar, insieme ai .class .