Specialeffekter och spelutveckling
i Java(TM) - Hur man kontrollerar appletskärmen med paint()
metoden (Graphics klassen och fillRect() metoden)
av Anibal Wainstein
2.1.3 Hur man kontrollerar
appletskärmen med paint() metoden (Graphics
klassen och fillRect() metoden)
Jag sa i avsnitt 2.0.2 att det
var init() metoden som var det första som kördes
i en Java applet. Metoden som körs direkt efter init()
i en applet är paint() metoden:
public void paint(Graphics g)
{
}
Med paint() metoden har du full kontroll över appletskärmen
tack vare Graphics objektet som följer med och som pekar
på skärmen. I klassen Graphics finns metoder för
att rita ut linjer, cirklar, rektanglar, text, bilder m.m. Vad
man alltid bör göra i en grafikapplet är att
initiera skärmen men en viss bakgrundsfärg. Detta
kan vi göra med metoden fillRect() som kommer att fylla
en rektangel. Först måste vi dock specifiera en färg
som appletens "färgpenna" kommer att arbeta med.
Anta att vi vill ha en blå färg i vår applet
och vi vill att appletstorleken skall vara 200x100 pixels:
import java.applet.*;
import java.awt.*;
public class initierabakgrund extends Applet {
public void init()
{
//den här metoden exekveras före
//paint() metoden
}
public void paint(Graphics g)
{
Color bakgrundsfarg = Color.blue;
// setColor i klassen Graphics
// sätter pennans färg, normalt är den svart
g.setColor(bakgrundsfarg);
// fillRect fyller en rektangulärt område med
// den valda färgen. Metoden kräver en horisontell
//och vertikal position (x resp. y position)
g.fillRect( 0, 0, 200, 100);
}
} Observera att all kommunikation med appletskärmen
går genom Graphics objektet "g". Här ovan har vi
först bestämt färgen på pennan som Graphics
objektet använder för att rita på skärmen.
Nästa steg är att rita en rektangel som täcker
hela skärmen med färgen som vi har valt. Vi önskade
oss en applet som skulle vara 200x100 pixels stor, därför
behöver vi en rektangel som börjar i början
av appletskärmen (0,0) och har dimensionerna 200x100 pixels.
Notera att ökar man den vertikala positionen
y så rör sig rektangeln nedåt. En
ökning av den horisontella positionen x förflyttar
rektangeln åt höger.
Hur fillRect fungerar.
Gör nu en fil av kodtexten ovan samt en egen HTML fil
där CODE="initierabakgrund.class" samt där WIDTH
och HEIGHT är 200 resp. 100.
Du kan också klicka
här för att se på appleten.
Nästa sida >>
|