Bilder och filer visas inte efter att ha exporterat java projektet till en "runnable JAR file"
hello
Här är en beskrivning av programmerings problemet jag har stött på och fastnat i.
Jag programmerar i java med eclipse.
I min programm så använder vi oss av bilder och andra typer av filer för olika syften så som tex bilder att använda som bakgrund i ett fönster eller ljudfiler för att spela upp ljudeffekter för knappar osv. I eclipse(programmeringsprogrammet) körs filen perfekt utan problem.
problemet kommer in när vi exporterar projektet till en körbar java fil(runnable jar). Den Körbara filen vi exportera projektet till körs precis som vi hadde programerat den att göra men alla filer vi använt oss, alltså ljud, bilder osv är inte åtkommliga som om de inte exporterades med i projektet.
Om vi bryter ner problemet i enklaste form så har jag programerat en vanligt fönster som ska visa en bild(pap.PNG).
bilden är bevarad i en "source folder" i projektet. Se bild nedan
Därefter exporterar filen till "runnable jar" såhär (se bild nedan)
Detta blir resultatet efter att ha exporterat
Bilden är borta.
Jag förstår att felet kan vara i sättet jag får fram bilden alltså kod rad 23 (se bild nedan)
Jag har försökt att lösa den genom att byta ut den med tex koden: Class1.class.getResource("pap.PNG");
och liknande kod som har med "getResource" att göra och inget verkar ha löst det. Antingen blir det ett fel medelande eller så sker samma resultat. Hjälp
För det första använd inte special teken som å,ä,ö pga att de kan skapa buggar i programmering.
Sen en bra tips är att köra System.out.print.
Så kör en System.out.print på bild och se vad du får för något resultat. :)
Per9411 skrev:För det första använd inte special teken som å,ä,ö pga att de kan skapa buggar i programmering.
Sen en bra tips är att köra System.out.print.
Så kör en System.out.print på bild och se vad du får för något resultat. :)
På vilket sätt menar du?
Jag förstår inte hur du vill jag ska använda system.out.print för att testa saken du vill testa
Har stött på liknande problem och det var rätt drygt att lösa. Antar att bilderna ligger i JAR-filen?
Prova med något i stil med
URL imageURL = ImageLoader.class.getResource("/" + imageName);
Image image = ImageIO.read(imageURL)
Att köra / i början av vägen till bilden kan hjälpa, det gör att programmet utgår från "botten" av JAR-filen och letar därifrån
Är 'bild' både en klass och namnet på en variabel? Det finns ingen koppling jag kan se mellan dem, så du måste göra något med variabeln bild så att den kopplas till variabeln pan.