Donald__Duck Skrevet 16. desember 2009 Del Skrevet 16. desember 2009 (endret) Jeg klarer ikke å få noen bakgrunnsfarge til dette programmet, det blir bare hvitt. Derimot funker alt det andre. Det som også er merkelig er at koden er kopiert rett fra CD'en som fulgte med læreboka. Jeg har prøvd med flere farger, ikke bare cyan. Noen som vet hva som kan være galt? import javax.swing.JApplet; import java.awt.*; public class Snowman extends JApplet { //----------------------------------------------------------------- // Draws a snowman. //----------------------------------------------------------------- public void paint (Graphics page) { final int MID = 150; final int TOP = 50; setBackground (Color.cyan); page.setColor (Color.blue); page.fillRect (0, 175, 300, 50); // ground page.setColor (Color.yellow); page.fillOval (-40, -40, 80, 80); // sun page.setColor (Color.white); page.fillOval (MID-20, TOP, 40, 40); // head page.fillOval (MID-35, TOP+35, 70, 50); // upper page.fillOval (MID-50, TOP+80, 100, 60); // lower page.setColor (Color.black); page.fillOval (MID-10, TOP+10, 5, 5); // left eye page.fillOval (MID+5, TOP+10, 5, 5); // right eye page.drawArc (MID-10, TOP+20, 20, 10, 190, 160); // smile page.drawLine (MID-25, TOP+60, MID-50, TOP+40); // left arm page.drawLine (MID+25, TOP+60, MID+55, TOP+60); // right arm page.drawLine (MID-20, TOP+5, MID+20, TOP+5); // brim of hat page.fillRect (MID-15, TOP-20, 30, 25); // top of hat } } Endret 16. desember 2009 av Donald__Duck Lenke til kommentar
RavnTM Skrevet 17. desember 2009 Del Skrevet 17. desember 2009 Hva med å tegne bakgrunnen selv? public void paint(Graphics page) { page.setColor(Color.cyan); page.fillRect(0, 0, getWidth(), getHeight()); ... } Det burde fungere. Lenke til kommentar
Donald__Duck Skrevet 17. desember 2009 Forfatter Del Skrevet 17. desember 2009 Det fungerte fint, takk for tipset. Men skulle likevel ønsket at setBackground-funksjonen fungerte. Noe annet jeg lurer på er når jeg holder musepekeren over ordet Snowman, da kommer Eclipse opp med meldingen "The serializable class Snowman does not declare a static final serialVersionUID field of type long". I tillegg er det et ikon med en lyspære og et utropstegn i margen, hvor samme melding kommer opp når jeg holder musepekeren over. Hva betyr dette, kan det ha sammenheng med at setBackground-funksjonen ikke virker? Lenke til kommentar
RavnTM Skrevet 17. desember 2009 Del Skrevet 17. desember 2009 Nei, det har ingenting med setBackground() å gjøre. Grunnen til at du får den advarselen, er fordi et sted oppe i hierarkiet, implementerer JApplet Serializable. Du kan enten velge å ignorere det, eller legge til denne linjen et eller annet sted i klassen din: private static final long serialVersionUID = xxxxxxxL; Hvor xxxxxx er et tilfeldig valgt tall. Hvis du velger å ignorere det, kan du gå inn i Eclipse for å få den til å slutte å advare deg sånn her: Window -> Preferences -> Java -> Compiler -> Errors/Warnings -> Potential programming problems -> Serializable class without serialVersionUID -> Ignore 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å