Newsgroup: it.comp.java
Titolo: Path assolute ok, ma le relative?

Buona sera,
dopo diverse madonne, ho notato che il problema del fatto che non vada piů
niente al di fuori del mio pc....č la path dell'immagine....in pratica io
nei vari test avevo messo img.gif anche in c: e poi avevo detto di prenderla
da c:\\img.gif...dopo anche se l'ho tolta e l'ho lasciata nella dir con i
files del programma e quindi \\img.gif la cosa funzionava
correttamente....ovviamente su un sistema in cui non faccio sto giochetto,
ma č impensabile.
La soluzione l'ho trovata nella specifica della path assoluta tipo
c:\\programmma\\java\\prova\\images\\img.gif
Ora questo puň anche andare bene, se non fosse per il fatto che a questo
punto il codice non č piů portabile....possibile che non ci sia un modo per
dargli la path relativa che parte dalla directory in cui si trova il file
java in questo caso image\img.gif!?
thx
byez
B@STI

 java in questo caso image\img.gif!?
cerca di essere più chiaro, dove stanno le immagini?
Image image = Toolkit.getDefaultToolkit().getImage("image/img.gif")
oppure se vuoi mettere le immagini nel classpath (o in un jar)
Image image =
Toolkit.getDefaultToolkit().getImage(getClass().getResource("image/img.gif")
)
ciao)o
--
Andrea
http://jame.sf.net

 Andrea
Grazie
Byez
B@STI

 c'è cristi di vedere un tubo...io non sto capendo perchè...
sicuro di aver ricompilato i sorgenti dopo aver messo "images/d0.gif"?
(e soprattutto di aver scritto correttamente il percorso)


 ciao)o
grazie
byez
B@STI

 vedere nulla!
il punto indica la directory corrente
avrei delle domande: come compili? con cosa compili? da dove esegui il
programma?
se lavori sempre nella stessa cartella non capisco i tuoi problemi


 Andrea
byez
B@STI

 "C:\j2sdk1.4.1_02\bin\javaw.exe -ea  -classpath C:\pippo\pluto Prova"
a giudicare da questa riga, ho l'impressione che la directory
di esecuzione di Prova sia quella del tuo editor (ginipad)
(per questo motivo i percorsi assoluti funzionano)
dovresti avviare il tuo codice con un .bat messo in C:\pippo\pluto:
javaw.exe -ea  -classpath . Prova
in questo modo la directory di esecuzione del tuo programma
sarà C:\pippo\pluto e quindi i percorsi relativi funzioneranno


 
http://jame.sf.net
1000 grazie per la pazienza!
byez
B@STI

Un giorno ormai lontano, il potente
Bastilani ritrovo' l'antica pergamena nota come
'Re: Path assolute ok, ma le relative?'.
Leggendarie furono allora le sue parole:
supponiamo che la tua classe, nella quale hai un metodo che carica
un'immagine, sia: pacchetto.Classe
Dunque, avrai una struttura di directory simile a:
c:
 |
 |-- pacchetto/
 |       |
 |       |-- Classe.java
 |       |-- Classe.class
 |       |-- images/
 |       |      |
 |       |      |-- image.gif
Per risolvere tutti i tuoi problemi (presenti e futuri, quando ad
esempio metterai la tua applicazione in un .jar) carica l'immagine
con il seguente codice:
public class Classe {
    public void caricaImmagine() {
       /* tanto codice prima */
 
       // recupero la URL dell'immagine
       java.net.URL imageToLoad = Classe.class.getResource("images/image.gif");
       // Carico l'immagine da ovunque essa sia ;-)
       Toolkit.getDefaultToolkit().getImage(imageToLoad);
       /* Tanto codice che utilizza l'immagine */
    } // end caricaImmagine()
} //end Classe
-- 
__/\__ * this mail has been written by Talpa Stellare
\ TS / * che da piccolo una volta e' morto.
 |/\|  * icq# 78630739 - togli i caratteri maiuscoli x e-mail

Grazie proverň anche cosě!
byez
B@STI