import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
public class JavaTwee extends Applet
{
public void paint(Graphics pen)
{
int breedte, hoogte;
int randAfstand = 5;
// kleine auto's
breedte = 144;
hoogte = 120;
pen.setColor(Color.red);
this.tekenAuto(pen, randAfstand, randAfstand, breedte, hoogte);
this.tekenAuto(pen, 500 - breedte - randAfstand, randAfstand, breedte, hoogte);
pen.setColor(Color.blue);
this.tekenAuto(pen, randAfstand, 500 - hoogte - randAfstand, breedte, hoogte);
this.tekenAuto(pen, 500 - 144 - randAfstand, 500 - hoogte - randAfstand, breedte, hoogte);
// grote auto
breedte = 348;
hoogte = 290;
pen.setColor(Color.white);
this.tekenAuto(pen, 500 / 2 - breedte / 2, 500 / 2 - hoogte / 2, breedte, hoogte);
}
private void tekenAuto(Graphics pen, int x, int y, int breedte, int hoogte)
{
/* multiBreedte en multiHoogte zijn de kleinste hoogte en breedte die
* gebruikt gaan worden en als basis gaan dienen voor alle andere hoogtes
* en breedten (de "multipliers").
* De originele en aanbevolen verhouding (anders zijn de wielen niet meer
* rond maar ovaal en past de tekst niet) is:
* breedte : hoogte
* 6 : 5
*/
int multiBreedte = breedte / 12;
int multiHoogte = hoogte / 10;
// teken het bovenstuk
pen.drawLine(x + multiBreedte * 5, y, x + multiBreedte * 3, y + multiHoogte * 4);
pen.drawLine(x + multiBreedte * 9, y, x + multiBreedte * 11, y + multiHoogte * 4);
pen.drawRect(x + multiBreedte * 5, y, multiBreedte * 4, multiHoogte * 4);
pen.fillRect(x, y + multiHoogte * 4, multiBreedte * 12, multiHoogte * 4);
// bewaar de oude kleur om die later te kunnen herstellen
Color oudeKleur = pen.getColor();
// de auto krijgt het opschrift "JavaTwee"
if (oudeKleur.equals(Color.white))
pen.setColor(Color.black);
else
pen.setColor(Color.white);
pen.setFont(new Font("SansSerif", 0, multiHoogte));
pen.drawString("JavaTwee", x + multiBreedte * 4, y + multiHoogte * 6);
pen.setColor(oudeKleur);
// teken de wielen
this.tekenWiel(pen, x + multiBreedte, y + multiHoogte * 6, multiBreedte * 4, multiHoogte * 4);
this.tekenWiel(pen, x + multiBreedte * 7, y + multiHoogte * 6, multiBreedte * 4, multiHoogte * 4);
}
private void tekenWiel(Graphics pen, int x, int y, int breedte, int hoogte)
{
// bewaar de oude kleur om die later te kunnen herstellen
Color oudeKleur = pen.getColor();
// buitenste cirkel
pen.setColor(Color.black);
pen.fillOval(x, y, breedte, hoogte);
// binnenste cirkel
pen.setColor(Color.white);
pen.fillOval(x + breedte / 4, y + hoogte / 4, breedte / 2, hoogte / 2);
pen.setColor(oudeKleur);
}
}