OnkelSjolf Skrevet 16. mars 2007 Del Skrevet 16. mars 2007 (endret) Hei! Jeg har aldri vært borti ArrayList før..så dermed har det følgelig oppstått et par problemer underveis her i en oppgave Jeg har en klasse "Fasong" som inneholder koden: import java.awt.Color; import java.awt.Graphics; import java.util.ArrayList; public abstract class Fasong { public void tegn(Graphics g){ }; public static final int SIRKEL=101; public static final int REKTANGEL=102; public static final int LINJE=103; public static final int KONTUR=104; public static final int FYLT=105; public Color farge=Color.RED; public int fasongtype=Fasong.SIRKEL; public int fylltype=Fasong.FYLT; public int x=100,y=100; public Color getFarge() { return farge; } public void setFarge(Color farge) { this.farge = farge; } public int getFasongtype() { return fasongtype; } public void setFasongtype(int fasongtype) { this.fasongtype = fasongtype; } public int getFylltype() { return fylltype; } public void setFylltype(int fylltype) { this.fylltype = fylltype; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } } Jeg har så en klasse "Model" hvor jeg skal lage en ArrayList<Fasong> al=new ArrayList<Fasong>(); Denne ArrayListen skal gå igjennom alle formene (sirkel, rektangel, linje) som ligger i "Fasong" for så å tegne de ut på et panel jeg har laget. Det jeg lurer på her..er først hvordan får jeg ArrayListen til å hente ut de forskjellige fasongene fra klassen Fasong og deretter får tegnet de ut på panelet? På forhånd takk for evt hjelp Endret 16. mars 2007 av OnkelSjolf Lenke til kommentar
mikaelandre Skrevet 17. mars 2007 Del Skrevet 17. mars 2007 for å iterere en ArrayList har du i utgangspunktet 2 måter, vanlig for-løkke og en for each løkke. Personlig liker jeg for-each best. for-løkke: Fasong f; for(int i = 0; i < liste.size(); i++){ f = liste.get(i); // Gjør ting med fasongen } for-each: for(Fasong f : liste){ // Gjør ting med fasongen } for å tegne er jeg ikke helt sikker, lenge siden jeg har holdt på med swing, men det er vel noe slikt som panel.add(f); eller noe lignende. Med ekstra parametre etter hvilken layout manager som er brukt. Lenke til kommentar
OnkelSjolf Skrevet 17. mars 2007 Forfatter Del Skrevet 17. mars 2007 Ok...bare sånn for å få det inn med teskje her..menne hvor henter den ut infoen om de forskjellige formene som ligger inni den andre klassen som heter Fasong her? Har som sagt null peil på arraylist da jeg aldri har brukt dette før for å iterere en ArrayList har du i utgangspunktet 2 måter, vanlig for-løkke og en for each løkke. Personlig liker jeg for-each best. for-løkke: Fasong f; for(int i = 0; i < liste.size(); i++){ f = liste.get(i); // Gjør ting med fasongen } for-each: for(Fasong f : liste){ // Gjør ting med fasongen } for å tegne er jeg ikke helt sikker, lenge siden jeg har holdt på med swing, men det er vel noe slikt som panel.add(f); eller noe lignende. Med ekstra parametre etter hvilken layout manager som er brukt. 8173398[/snapback] Lenke til kommentar
Iyon Skrevet 17. mars 2007 Del Skrevet 17. mars 2007 Kan du ikke legge ut koden til dette panelet du refererer til, da blir det kanskje litt lettere å mate deg med te-skjeer Lenke til kommentar
pgdx Skrevet 19. mars 2007 Del Skrevet 19. mars 2007 Det blir jo bare slik: for(Fasong f : liste){ f.dineMetodenavn(); } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå