Avatar billede mikkel_sommer Nybegynder
09. marts 2005 - 23:21 Der er 12 kommentarer og
1 løsning

jar filen virker ikke når der er billeder med i applikationen

Jeg har lavet et lille program hvor det er muligt at spille kort mod computeren. I starten havde jeg lavet det sådan at korte blev præsenteret i tekst felter hvori jeg skrev deres værdi. På daværende tidspunkt lavede jeg en jar fil som jeg ikke havde noget problem med at køre udenfor udviklingsmiljøet (jBuilder4). Men da jeg senere tilføjede nogle labels hvor jeg viste billeder af kortene kunne jeg ikke længere køre jar filen.

Er der noget specielt man skal være opmærksom på når man laver jar filer hvor der skal indgå billeder ???
Avatar billede snoop_one Nybegynder
09. marts 2005 - 23:58 #1
Ja du skal tilgå resources via classen eller classloaderen...

Det er f.eks. ikke korrekt at lave denne her:
  new ImageIcon("/images/myimage.jpg");
(går stærkt udfra, at du har lavet det på ovenstående måde)

men de korrekte udgaver er:
  new ImageIcon(getClass().getResource("path relativ fra class filen"))
eller
  new ImageIcon(getClass().getClassLoader().getResource("path relativ fra roden"))
Avatar billede mikkel_sommer Nybegynder
10. marts 2005 - 00:27 #2
nej jeg har gjort som du skriver i midten:
ImageIcon k1 = new ImageIcon(getClass().getResource("Pkortk01.jpg"));
Avatar billede snoop_one Nybegynder
10. marts 2005 - 17:49 #3
Har du også checket din jar fil (du kan evt. åbne den med WinRAR eller køre jar tf <fil>.jar) for at sikre dig at pkortk01.jpg ligger i samme package som class filen?

Hvis dette er tilfældet, kan jeg ikke rigtigt se hvad det ellers skulle være?
Avatar billede mikkel_sommer Nybegynder
10. marts 2005 - 21:35 #4
ja billed filerne ligger der godt nok når jeg åbner med winrar....
jeg forstår det heller ikke...
Avatar billede snoop_one Nybegynder
11. marts 2005 - 00:26 #5
Kan du evt. poste noget kode samt outputtet af jar tf dinjarfil.jar?
Avatar billede mikkel_sommer Nybegynder
11. marts 2005 - 00:30 #6
ja naturligvis, hvilke dele af koden vil du have eller er selve jar filen nok?
Avatar billede snoop_one Nybegynder
11. marts 2005 - 02:26 #7
jar filen er fint...
Du kan sende den til snoop.one@gmail.com
Avatar billede snoop_one Nybegynder
11. marts 2005 - 14:38 #8
Jeg kan ikke se din kode da den ikke er i jar filen... men fra det jeg kan se inde i jar filen så hedder dine dine billede filer *.JPG og ifl. din kommentar fra 10/03-2005 00:27:31 så tilgåes de således:
new ImageIcon(getClass().getResource("Pkortk01.jpg"));

Så du kan enten ændre dine billede filer til at være *.jpg (lowercase) eller du kan ændre din kode til
  new ImageIcon(getClass().getResource("Pkortk01.JPG"));

(bemærk *.JPG - uppercase extension)
Avatar billede mikkel_sommer Nybegynder
11. marts 2005 - 14:53 #9
Skulle det gøre nogen forskel ... det virker jo fint nok når jeg kører applikationen fra jBuilder?
Avatar billede mikkel_sommer Nybegynder
11. marts 2005 - 14:55 #10
JA det gjorde det sgu ... alt for cool ... nu virker det.
Smid et svar så skal du få dine point og tak for hjælpen.
Avatar billede snoop_one Nybegynder
11. marts 2005 - 14:58 #11
Svar - og grunden har du vel også fundet ud af hen af vejen :-)
Avatar billede mikkel_sommer Nybegynder
11. marts 2005 - 17:15 #12
Næeh hvorfor virkede jpg inde fra jBuilder men ikke fra jar filen ... den skulle have JPG ... og når jeg kigger på filerne i windows hedder de rent faktisk JPEG ... nej jeg fatter det ikke helt...
Avatar billede snoop_one Nybegynder
11. marts 2005 - 22:39 #13
Jeg kender ikke jbuilder så jeg skal ikke udtale mig om programmet. Men case sensitive filnavne er OS afhængige - Windows er ligeglad med om det hedder Fil.jpg eller fil.jpg men der er andre OS derude end Windows... Derfor har Java valgt at jar filer skal være case sensitive hvad ressourcer angår.

http://mindprod.com/jgloss/jar.html
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester