Ikony w *.jar i ResourseManger JAVA

Ikony w *.jar i ResourseManger JAVA
Antoniossss
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 10 lat
0

Witam!!

mam taką przykładową linię kodu:

Kopiuj
labelPobieranie.setIcon(new ImageIcon(Main.class.getResource("ikony/ico.png"))); 

sama ikonka siedzi w pakage nazwa_aplikacji.ikony i nazywa się oczywiście ico.png.

W NetBeansie to działa, wyświetla poprawnie. Problem się zaczyna przy uruchomieniu distro. Krótko - brak ikon.
Sprawdziłem główny plik jar aplikacji, i są tam ikony w katalogu ikony.
Sprawdziłem też jaka jest różnica w zwracanych ścieżkach przez getResource:

odpalane w NB: file:/Z:/.../ikony/ico.png
odpalane z JAR: jar:file:/Z:/.../ikony/ico.png

użycie czegoś w stylu (google hit)

Kopiuj
getClass().getClassLoader().getResourceAsStream("Icons/picture.png")

nie załatwia sprawy, a wręcz odwrotnie, wszytko przestaje działać w nb i distro (null pointer exception)

Kopiuj
       Image ikona = ImageIO.read(Main.class.getResourceAsStream("ikony/ico.png"));
       labelListy.setIcon(new ImageIcon(ikona));

Tutaj identyczny efekt, działa z NB, odpalane z jarka już nie działa.

Z góry dziękuję za pomoc!

wg http://download.oracle.com/javase/tutorial/uiswing/components/icon.html to powinno działać. Podejrzewam więc, że będzie trzeba coś wyklikać w NB


www.toptraker.pl
TopTraker! - I wiesz co jest grane!
Mój własny projekt w Javie - najnowsza wersja już jest!
edytowany 1x, ostatnio: Antoniossss
Kerai
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:London
0

podawaj ścieżki z "/" na początku

Antoniossss
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 10 lat
0
Kerai napisał(a)

podawaj ścieżki z "/" na początku
W takim przypadku getResource pluje nullem;


www.toptraker.pl
TopTraker! - I wiesz co jest grane!
Mój własny projekt w Javie - najnowsza wersja już jest!
0

Ja to tam robię tak:

Kopiuj
new ImageIcon("BEZWZGLĘDNA ŚCIEŻKA DO PLIKU");

Wszystko działa, w NetBeans, w jarze też, nawet jak go przesunę czy wyślę na innego kompa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.