Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Eclipsellä java ohjelmaan kuvia

panttu [28.08.2005 23:02:25]

#

Kuinka Eclipsellä voidaan projektiin lisätä kuvia/tekstitiedostoja, jotta ne olisivat mukana myös testi ajoissa. Toistaiseksi ainut ratkaisu, jonka olen keksinyt on määritetty osoite koodiin jossa kuvat on mutta tämä on varmasti väärin, mutta miten ne saataisiin projektiin, jolloin ne näkyisi ohjelmassa ja menisi jar pakettiin, kun se tehdään.

leisku [29.08.2005 12:01:16]

#

Muistaakseni voit siirrellä siihen Eclipsen tiedostopuunäkymään uusia tiedostoja vaikka suoraan työpöydältäsi kuvakkeita raahaamalla.

Kuvien kannattaa useimmiten olla suht. lähellä koodejasi hakemistomielessä, esim. samassa tai alihakemistossa. Eclipsessä on se resurssinäkymä, josta näet hakemistoihin. Niin katso sieltä että näin on.

Kun luot uuden filen File(String pathname) filereaderisi tai streamisi syötteeksi, niin toki joudut jollakin tavalla sen tiedostopolun antamaan.

Eli en ole ihan varma mitä tarkoitat tuolla "on määritetty osoite koodiin jossa kuvat on mutta tämä on varmasti väärin".

Voit tietty antaa tiedostopolut vaikkapa appletin parametreinä, tai että ne luetaan jostakin tiedostosta, jos et halua kirjoittaa niitä itse ohjelmaan, mutta jotain infoa aiheesta ohjelmasi tarvitsee joka tapauksessa.

Kuvia ei välttämättä ole pakko pakata siihen jariin, mutta kai se usein kannattaa. Voit myös pakata pelkästään luokat, sitten avata ja lukea kuvat jostakin muualta.

Vastasikohan tämä nyt jotenkin sun kysymykseen? :)

panttu [29.08.2005 21:38:04]

#

Tarkoitus oli se, että nuo kuvat ovat jarissa, jolloin niiden lukemiseen ei tarvitse tietää polkua, mutta ohjelman testamis vaiheessa ne on jossain, mutta haluasin, että ne voi lukea pelkän tiedoston nimen perusteella. Aikaisemmin minulla on ollut nuo kuvat c:/projekti/... hakemistossa, mutta tällöin ohjelmassa kuvaaladatessa on määritettävä polku, jota taas ei saa olla, kun ohjelmasta tehdään lopullinen jar paketti, jossa kuvat on.

leisku [29.08.2005 22:01:49]

#

Käynnistäessäsi ohjelman, sun pitäisi nähdä vasemmassa laidassa "Package Explorer" niminen sivupalkki, jossa näet projektiin kuuluvat luokat. Drag-and-drop työpöydältä ja resurssien hallinasta (yms) toimii, ainakin Windowsissa, testasin juuri.

Laita nyt ne kuvatiedostosi siihen hakemistoon, missä luokkatiedostosi ovat. Jos luokkasi kuuluvat johonkin packageen, niin laita tiedostot package-polun päähän, josta luokkatiedostot löytyvät. Jos luokat eivät ole erillisessä packagessa (Eclipse sanoo "default package") niin laita kuvatiedostosi projektin juureen.

Kun teet näin, niin pelkkä tiedostonimi riittää.

Jos tän nyt voi sanoa vielä selkeämmin, niin selventäkää ihmeessä. Jos oli jotain epäselvää, niin sano.

FooBat [30.08.2005 01:49:17]

#

Itsellänikin oli joskus vaikeuksia ladata kuvia jarrista kun tein sen näin:

//ei toimi
Image image = ImageIO.read(new File("kuva.png"));

Homma alkoi toimimaan, kun muutin sen tälläiseksi:

//toimii
Image image = ImageIO.read(getClass().getClassLoader().getResourceAsStream("kuva.png"));

Ongelma on nähtävästi siinä, että toi File ei löydä tiedostoa kunnolla jar paketin sisältä tai se ei ainakaan osaa käyttää sitä. Sen sijaan, kun tiedoston pyytää classloaderilta niin se toimii hyvin kunhan vain kuva on classpathissa tai jossain halutussa paketissa. Varmaan tuohon on joku muukin ratkaisu, mutta näin sain sen itse toimimaan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta