Specialeffekter och spelutveckling
i Java(TM) - Andra intressanta metoder i Graphics klassen
av Anibal Wainstein
2.1.4 Andra intressanta
metoder i Graphics klassen
I förra avsnittet gick vi igenom Graphics-metoderna setColor()
och fillRect().
Det finns många metoder som man har nytta av i Graphics.
Följande exempel visar vad man kan göra med några
av dem.
import java.applet.*;
import java.awt.*;
public class uppgaendesol extends Applet {
public void paint(Graphics g)
{
// *** skapa himlen g.setColor(Color.blue);
g.fillRect( 0, 0, 200, 100);
// *** skapa solen
g.setColor(Color.yellow);
// metoden fillOval() skapar en fylld oval
// mitt i skärmen med bredden och höjden 50
g.fillOval(25,25,50,50);
// *** skapa solens strålar med fillArc
// setColor behövs inte eftersom pennans
// färg skall vara densamma
g.fillArc(0,0,100,100,180,10);
g.fillArc(0,0,100,100,160,10);
g.fillArc(0,0,100,100,140,10);
g.fillArc(0,0,100,100,120,10);
g.fillArc(0,0,100,100,100,10);
g.fillArc(0,0,100,100,800,10);
g.fillArc(0,0,100,100,60,10);
g.fillArc(0,0,100,100,40,10);
g.fillArc(0,0,100,100,20,10);
g.fillArc(0,0,100,100,0,10);
// *** skapa marken
// skapa brun färg, den finns inte färdig
Color ground = new Color(128,64,0);
g.setColor(ground);
// fyll nedre delen av skärmen med brunt
g.fillRect( 0, 50, 200, 50);
// *** skapa en svart text
g.setColor(Color.black);
g.drawString("Tjena Sverige!",50,50);
} }
Kompilera koden ovanför och gör en HTML file som har
en applet som är 200 gånger 100 pixels. Du
kan klicka här
om du vill se slutresultatet.
Vi börjar med att gå igenom satserna i paintmetoden
från början. setColor() metoden i början gör
faktiskt samma sak som färgsättningsappleten i förra
avsnittet. Skillnaden är att vi nu direkt specifierar
färgen från Color klassen i stället för
att göra en pekare till den först. Det blir mindre
kod och mer lättförståeligt för dem som
läser koden.
Efter det så sätter vi pennan till gul och skapar
en fylld cirkel i positionen (25,25) med bredden och höjden
50 med hjälp av metoden fillOval(). Nästa steg är
att rita solens strålar. Dessa ritas med metoden fillArc().
Metoden liknar fillOval() men med skillnaden att du kan specifiera
en vinkel (i grader) som du vill att strålen skall börja
på, samt en vinkelbredd (i grader).
Hur fillArc fungerar.
Nu fyller vi nedre halvan av appleten med brunt som vi blir
tvungna att skapa eftersom det inte finns färdigt.
Vi skapar därför en rektangel som har halva applethöjden
(200x50) och flyttar ner den 50 pixels, som är hälften
av skärmen.
Till sist är det dags att lägga till ett litet hälsningsmeddelande
med metoden drawString() som vi ritar i svart. Metoden kräver
i sin tur en sträng och ett x och y position där
texten skall placeras. Observera dock att y positionen är
lite missvisande. Den är positionen för textens
nedre kant!

Hur drawString ritar ut textsträngar.
Detta måste man ta hänsyn till när man använder
drawString(). Vi kommer i senare kapitel att visa hur man
kan ändra fonten på texten också.
Alla metoder som vi har gått igenom här finns
väldokumenterade i API referensen som du kan ladda ner
från samma ställe där du laddar ner utvecklingspaketen..
Där hittar du också en beskrivning av andra nyttiga
metoder i Graphics klassen. Det är lika bra att du vänjer
dig att läsa i API referensen för det är ett
verktyg som är lika viktig som kompilatorn. Det är
inte meningen att du ska komma ihåg hur alla dessa funktioner
fungerar utantill. Försöker du göra det
ändå så kommer du bara att bli uttråkad.
Nästa sida >>
|
 |  |
|