Mehrere Ampeln zeichnen unter Verwendung einer
Methode, die mehrmals aufgerufen wird.
import java.awt.*;
import java.applet.*;
public class AmpelV2 extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawRect(100,100,46,146);
zeichneLampe(g,
100,100,Color.red,'r');
warte(600);
g.setColor(Color.black);
g.drawRect(200,100,46,146);
zeichneLampe(g,
200,150,Color.yellow,'y');
warte(600);
g.setColor(Color.black);
g.drawRect(300,100,46,146);
zeichneLampe(g,
300,200,Color.green,'g');
}
private void zeichneLampe(Graphics g, int x, int y, Color farbe,char
zeichen)
{
if(zeichen=='r'){
g.setColor(Color.black);
g.drawOval(x,y,46,46);
g.drawOval(x,y+50,46,46);
g.drawOval(x,y+100,46,46);
g.setColor(farbe);
g.fillOval(x+2,y+2,42,42);
}
if(zeichen=='y'){
g.setColor(Color.black);
g.drawOval(x,y,46,46);
g.drawOval(x,y-50,46,46);
g.drawOval(x,y+50,46,46);
g.setColor(farbe);
g.fillOval(x+2,y+2,42,42);
}
if(zeichen=='g'){
g.setColor(Color.black);
g.drawOval(x,y,46,46);
g.drawOval(x,y-50,46,46);
g.drawOval(x,y-100,46,46);
g.setColor(farbe);
g.fillOval(x+2,y+2,42,42);
}
}
private void warte(long millisekunden)
{
try
{ Thread.sleep(millisekunden);
}
catch (InterruptedException
e)
{ System.err.println("Ausnahme
bei sleep");
}
}
}
Eine Ampeln zeichnen mit Lichtsteuerung unter
Verwendung einer Methode, die mehrmals aufgerufen wird.
import java.awt.*;
import java.applet.*;
public class AmpleV3 extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawRect(100,100,46,146);
zeichneLampe(g,
100,100,Color.red,'r'); // Lampe rot ein
warte(600); // wartezeit 600ms
zeichneLampe(g,
100,150,Color.yellow,'y'); // Lampe gelb ein
warte(600); // wartezeit 600ms
zeichneLampe(g,
100,100,Color.white,'r'); // Lampe rot
aus
zeichneLampe(g,
100,150,Color.white,'y'); // Lampe gelb
aus
zeichneLampe(g,
100,200,Color.green,'g'); // Lampe grün ein
/*g.setColor(Color.black);
g.drawRect(300,100,46,146);
zeichneLampe(g,
300,100,Color.red,'r');
warte(600);
zeichneLampe(g,
300,150,Color.yellow,'y');
warte(600);
zeichneLampe(g,
300,200,Color.green,'g');
*/
}
private void zeichneLampe(Graphics g, int x, int y, Color farbe,char
zeichen)
{
if(zeichen=='r'){
g.setColor(Color.black);
g.drawOval(x,y,46,46);
g.drawOval(x,y+50,46,46);
g.drawOval(x,y+100,46,46);
g.setColor(farbe);
g.fillOval(x+2,y+2,42,42);
}
if(zeichen=='y'){
g.setColor(Color.black);
g.drawOval(x,y,46,46);
g.drawOval(x,y-50,46,46);
g.drawOval(x,y+50,46,46);
g.setColor(farbe);
g.fillOval(x+2,y+2,42,42);
}
if(zeichen=='g'){
g.setColor(Color.black);
g.drawOval(x,y,46,46);
g.drawOval(x,y-50,46,46);
g.drawOval(x,y-100,46,46);
g.setColor(farbe);
g.fillOval(x+2,y+2,42,42);
}
}
private void
warte(long millisekunden)
// Methode zur Erzeugung einer
// Wartezeit
{
try
{ Thread.sleep(millisekunden);
}
catch (InterruptedException
e)
{ System.err.println("Ausnahme
bei sleep");
}
}
/*
??????????????????????????????????????????????????
public AmpleV3() {
try {
jbInit();
}
catch(Exception
e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setBackground(SystemColor.controlLtHighlight);
}
}
*/
Beispiel einer For- Schleife
import java.awt.*;
import java.applet.*;
public class rechteck
extends Applet
{
public void paint
(Graphics g)
{
int x = 30;
for (int zaehler = 0
; zaehler < 8 ; zaehler++)
{
g.drawString("*",x+5,20);
g.drawRect(x,20,10,10);
x = x + 20;
}
}
}
Beispiel einer If - Abfrage
import java.awt.*;
import java.applet.*;
public class If
extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.black);
int a=20, b=1,
c=30, max=0;
if(a>b){
max=a;
}
else{
max=b;
}
if(max<c){
max=c;
}
g.drawString("Der
groesste wert ist:" + max,
100, 100);
}
}
Beispiel einer While –
Schleife
import java.awt.*;
import java.applet.*;
public class Treppe extends Applet
{
public void paint (Graphics g)
{
int anzahl = 0, anzahlStufen, x, y,z;
//Simulation der Eingabe
anzahlStufen
= 15;
z= 20;
x = 380;
y = 20;
//-----------------------
while (anzahl < anzahlStufen)
{
g.drawLine(z,y,z+20,y);
g.drawLine(x,y,x-20,y);
g.drawLine(z+20,y,z+20,y+20);
g.drawLine(x-20,y,x-20,y+20);
x = x - 20;
z = z + 20;
y = y + 20;
anzahl++;
}
}
}