Jitsumi Skrevet 16. mars 2007 Skrevet 16. mars 2007 Kan noen forklare meg hvorfor jeg får meldingen "g cannot be resolved" i klassen view når jeg skriver : r.tegn(g); Her er klassene: import java.awt.Color; import java.awt.Graphics; 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.REKTANGEL; [CODE] public int fylltype=Fasong.KONTUR; public int x=100,y=100; public static int getFYLT() { return FYLT; } public static int getKONTUR() { return KONTUR; } public static int getLINJE() { return LINJE; } public static int getREKTANGEL() { return REKTANGEL; } public static int getSIRKEL() { return SIRKEL; } 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; } } import java.awt.Graphics; public class Rektangel extends Fasong{ private int dx=10,dy=10; public int getDx() { return dx; } public void setDx(int dx) { this.dx = dx; } public int getDy() { return dy; } public void setDy(int dy) { this.dy = dy; } public void tegn(Graphics g){ if (fasongtype==Fasong.REKTANGEL){ if (fylltype==Fasong.KONTUR){ g.drawRect(x,y,dx,dy); } else if (fylltype == Fasong.FYLT){ g.fillRect(x,y,dx,dy); } } } } import javax.swing.JFrame; public class view extends JFrame { Rektangel r = new Rektangel(); //Constructor public view(){ this.setBounds(200,100,400,300); this.setVisible(true); //hindre minnelekasje fordi programmet startes mange ganger this.setDefaultCloseOperation(EXIT_ON_CLOSE); r.tegn(g); }//end constructor }//end main
krister461 Skrevet 16. mars 2007 Skrevet 16. mars 2007 (endret) Fordi du ikke har laget en variabel med navn "g" og instansiert den. edit: en stund siden jeg har brukt JFrame, men kanskje det hjelper å smekke inn: Graphics g = this.getGraphics(); Endret 16. mars 2007 av krister461
Jitsumi Skrevet 16. mars 2007 Forfatter Skrevet 16. mars 2007 Fordi du ikke har laget en variabel med navn "g" og instansiert den. edit: en stund siden jeg har brukt JFrame, men kanskje det hjelper å smekke inn: Graphics g = this.getGraphics(); 8166665[/snapback] Der forsvant feilmeldingen ja. Takk takk! Men jeg får likevel ikke til å tegne det fordømte rektangelet... hmm. Skal grave i hjernen...
Jitsumi Skrevet 16. mars 2007 Forfatter Skrevet 16. mars 2007 Fordi du ikke har laget en variabel med navn "g" og instansiert den. edit: en stund siden jeg har brukt JFrame, men kanskje det hjelper å smekke inn: Graphics g = this.getGraphics(); 8166665[/snapback] Der forsvant feilmeldingen ja. Takk takk! Men jeg får likevel ikke til å tegne det fordømte rektangelet... hmm. Skal grave i hjernen... 8166723[/snapback] Lagde alt på nytt, no funker det. vet ikke hva forskjellen var... genialt
JFrame Skrevet 19. mars 2007 Skrevet 19. mars 2007 Bra det er noen som får til dette. Holdt på i over en uke i strekk, men blir mest å stange hodet i veggen og det går utrolig sent fremover. Så tar meg friheten til å kopiere koden din. Selv om den ikke virker så er det lengre enn jeg har kommet. Send meg gjerne mer av løningen om noen har, jeg trenger poengene
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å