Avatar billede dresen Nybegynder
10. juli 2003 - 11:21 Der er 17 kommentarer og
1 løsning

link til gif-fil

Hej.

Jeg ønsker at bruge instanser af ImageIcons i mine javafiler.

Jeg er er lige skiftet, fra at bruge TextPad til at bruge Eclipse, og er sikker på at dette er med til at give mig problemer.

Ved brug af textpad, kan jeg placere min billedefiler i samme dir som mine javafiler, og så bare refererer til navnet på billede-filen (som String), som argument til ImageIcon konstruktøren. Denne løsning virker imidlertid ikke i Eclipse, da mine java-filer indhylles i pakker (tror at dette er begrundelsen).

Jeg har forsøgt mig med brug af klassen URL, men uden at få det til at virke. Har placeret en GIF-fil i dir: "C:\pics", med filnavnet peasant.gif.

Håber at I kan hjælpe....

Hvordan gør jeg?
Avatar billede arne_v Ekspert
10. juli 2003 - 11:55 #1
Filer accesses i forhold til hvor java programmet kører ikke i forhold
til hvor source koden ligger når du bruuger relativ sti.

En løsning er derfor at bruge absolut sti:

new ImageIcon("C:\\pics\\pic1.gif");
Avatar billede arne_v Ekspert
10. juli 2003 - 11:58 #2
Til mere professionel brug anbringer du din gif et passende sted og bruger:

new ImageIcon(getClass().getClassLoader().getResource("pics/pic1.gif");

det virker både når pics er et under directory under dit build
directory *og* når alle class filer og billeder er gemt i en jar-fil.
Avatar billede arne_v Ekspert
10. juli 2003 - 12:00 #3
Hov der mangler lige en parentes:

new ImageIcon(getClass().getClassLoader().getResource("pics/pic1.gif"));

ovenstående virker når pics directory ligger i enten et af de
directories der er i classpath eller i en jar-fil i classpath.
Avatar billede dresen Nybegynder
10. juli 2003 - 12:01 #4
Mange tak for hjælpen!!
Avatar billede dresen Nybegynder
10. juli 2003 - 12:02 #5
Jeg tror ikke helt jeg forstår, hvad der ligger i udtrykket programmet hvor fra programmet kører og hvor sourcekoden ligger - kan du uddybe det lidt
Avatar billede arne_v Ekspert
10. juli 2003 - 12:06 #6
Et java program er ligesom alle mulige andre programmer.

Der er principielt 3 directories involveret:
a) det directory som kilde-teksten (.java filerne) ligger i
b) det directory som den compilede kode  (.class filerne) ligger i
c) det directory som man står i og kører programmet fra

Det er #c der er relevant.
Avatar billede arne_v Ekspert
10. juli 2003 - 12:11 #7
Eksempel:

For mit "Eksperten Eclipse projekt har jeg:"

a = C:\eclipse\workspace\Eksperten\src

b = C:\eclipse\workspace\Eksperten\bin

c = C:\eclipse\workspace\Eksperten

Men det er fordi jeg sætter det sådan når jeg laver projektet.

Default i Eclipse er a = b = c.
Avatar billede arne_v Ekspert
10. juli 2003 - 12:13 #8
Og når man begynder at bruge package, så bliver det:

C:\eclipse\workspace\Eksperten\src\pakke\Klasse.java
C:\eclipse\workspace\Eksperten\bin\pakke\Klasse.class

med min opsætning og:

C:\eclipse\workspace\Eksperten\pakke\Klasse.java
C:\eclipse\workspace\Eksperten\pakke\Klasse.class

med default opsætning.

Men man kører stadigvæk fra C:\eclipse\workspace\Eksperten !
Avatar billede arne_v Ekspert
10. juli 2003 - 12:13 #9
Så håber jeg ikke at jeg har forvirret dig mere end højest nødvendigt.

PS: Jeg er iøvrigt selv ret glad for Eclipse.
Avatar billede dresen Nybegynder
10. juli 2003 - 12:19 #10
Du har måske forvirret mig en smule, men jeg er ikke i tvivl om at det du har skrevet, vil være til stor hjælp for mig, når jeg får læst op på nogle ting, eller når jeg vender tilbage til, på et tidspunkt, hvor jeg har fået større erfaring.

Lige nu befinder jeg mig på et plan, hvor jeg vælger at abstrahere fra en portion ting jeg ikke forstår, for at kunne få skreve noget kode. Men jeg sætter stor pris på dine præcise og informative svar.
Avatar billede arne_v Ekspert
10. juli 2003 - 12:26 #11
Glem det med pakker indtil du har styr på basis.

Pointen er bare at man kan godt køre et program der ligger i et directory
mens man står i et andet directory og hvis man gør det så er relative
stier relative til hvor man står ikk ehvir programmet ligger.
Avatar billede dresen Nybegynder
24. juli 2003 - 13:39 #12
Hej arne_v

Jeg vil høre dig, om du kan give mig nogle gode råd omkring brugen af Eclipse.

Jeg vælger at skrive til dig her, så mit spørgsmål ikke opildner andre brugere af dette forum, til at kaste med mudder, i et forsøg på at ophøje deres eget IDE.

Som det bør fremgå af mine tidligere spørgsmål, er jeg endnu kun ved at få færten af Java. Jeg er for nylig skifet fra at bruge Textpad til at bruge Eclipse, på andres anbefaling, og også for at kunne opnå fordele på sigt. Jeg har forsøgt at finde informationer på nettet, og læse i help funktionen i Eclipse, men informationsmængden virker uoverskuelig stor (jf. de forskellige Guides). Jeg ville derfor høre om du kunne henvise til et site, eller måske udpege de nøgleområder, jeg bør sætte mig ind i, for at have et fundament at bygge videre på.

(Jeg vil meget gerne oprette et nyt spørgsmål med point)

På forhånd tak!
Avatar billede arne_v Ekspert
24. juli 2003 - 13:49 #13
Hm.

Personligt er jeg bare gået igang med at bruge Eclipse.

Der er noget på:
  http://www.3plus4software.de/eclipse/index_en.html

Der er også noget på:
  http://dev.eclipse.org/help21/index.jsp
Avatar billede arne_v Ekspert
24. juli 2003 - 13:51 #14
Der er lige udgivet nogle bøger om Eclipse:

The Java Developer's Guide to Eclipse
by Sherry Shavor, Jim D'Anjou, Dan Kehn, Scott Fairbrother, John Kellerman, Pat McCarthy

Eclipse in Action: A Guide for the Java Developer
by David Gallardo, Ed Burnette (Contributor), Robert McGovern
Avatar billede arne_v Ekspert
24. juli 2003 - 13:56 #15
Hvis der er noget konkret du vil vide så spørg.

Når du lige er begyndt så spring over alt det med plugin-development, CVS, ant
integration, JBoss & Tomcat integration etc. og fokuser på selve editor
funktionaliteten.
Avatar billede dresen Nybegynder
24. juli 2003 - 14:18 #16
Jeg kan ikke være konkret endnu. Har ofte problemer med, afvejningen mellem at kaste sig ud i det, og det at læse grundigt før man går i gang.

Men ovenstående er allerede en hjælp. Vil gå videre med det, og gøre brug af dit tilbud, når jeg løber panden mod en mur.
Avatar billede dresen Nybegynder
06. august 2003 - 18:15 #17
Hej arne_v

Jeg har rodet med at få import af andre pakker til at virke i Eclipse.

Jeg er i stand til at bruge pakker på tværs af projects, vha. Properties -> Projects. Men når jeg skal referere til class-files som ligger udenfor mit workspace så opstår der problemer.

Har kredset omkring Properties -> Source -> Add Folder -> Create New Folder -> Advanced  og  Properties -> Libraries -> Add Class Folder, men kan ikke få det til at virke.

Jeg har læst ovenstående forklaring omkring din opsætning af Eclipse (min opsætning er ikke overraskende helt standard :), og har også forsøgt at finde hjælp i besvarelsen til dette spørgsmål: http://www.eksperten.dk/spm/339413

Jeg har lavet klassen 'Talk' der er placeret i pakken 'pakke', og 'pakke' ligger i et dir som er angivet i min classpath.

package dk.andreash.pakke;

public class Talk{

    public Talk(){

        System.out.println("look whos talking now!!!");
    }


}

På forhånd tak!
Avatar billede arne_v Ekspert
06. august 2003 - 18:20 #18
Project
Properties
Build Path
Libraries
Add External Jar (hvis det er pakket i en jar) / Add Class Folder (hvis ikke)

Hvis det er nogle pakker du har hentet så er de uden tvivl i en jar.

Hvis det er dine egne pakker, så vil jeg anbefale dig at putte dem
i en jar.
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