Witam, napisałem sobie grę, wyeksportowałem ją do archiwum jar. Niestety obrazki nie wczytują się. W eclipse wszystko śmigało ok, gify wrzucałem do workspace. Co muszę zrobić, aby dodać gif do archiwum jar? Próbowałem go tam wrzucać na siłę (otwierałem archiwum i próbowałem w różnyhc miejscach go umieszczać), ale nie przynosi to efektów.
Odczytujesz pliki metodą getResource()?
Nie znam tej metody, plik wczytałem przez:
logo = new JLabel(new ImageIcon("ja.gif"));
Z jara tak nie wczytasz.
URL url = NazwaKlasy.class.getResource("ja.gif");
logo = new JLabel(new ImageIcon(url));
O ile plik ja.gif jest obok pliku NazwaKlasy.class. W przeciwnym razie musisz podać adres względny, np. getResource("images/ja.gif").
Zrobiłem tak:
URL url = GUI.class.getResource("ja.gif");
logo = new JLabel(new ImageIcon(url));
logo.setBounds(338, 422, 150, 150);
add(logo);
Zaimportowałem
import java.net.URL;
I wszystko działa z poziomu eclipse. Po exporcie do jara program w ogóle się nie uruchamia. Trzeba jakoś specjalnie exportować ten jar?
Jak się nie uruchamia, to otwórz konsolę i wpisz java -jar pełna_nazwa_jara, zobaczysz komunikaty o błędach.
Na pewno masz pliki graficzne w jarze?
Do jara trzeba włożyć te pliki, ja zawsze to ręcznie robiłem, nie wiem czy można z automatu.
Ale bez problemu możesz używać metody wcześniejszej tylko w lokacji gdzie masz jar'a umieść też pliki graficzne.
Unable to access jarfile nazwa
Omg, Twój jar nazywa się nazwa? Wpisz java -jar PełnaNazwaTegoJaraKtóryStworzyłeśRazemZRozszerzeniem.
Sorry, nie wiedziałem, że trzeba dodać rozszerzenie. ;)
http://i47.tinypic.com/29lenbn.png
obrazek się dodać nie chce...
Pewnie w pliku jar nie ma obrazków. Przemianuj go na zipa i wrzuć do niego obrazki. Powinny leżeć obok pliku GUI.class.
Domyślałem się tego po wypisanym błędzie i wrzucenie tego obrazka faktycznie rozwiązuje problem, ale mnie bardziej ciekawi to, dlaczego Eclipse nie wrzuciło tego obrazka automatycznie.