GK Informatik |
Arbeitsblatt JAVA
14c: |
JST. 12/1 |
NAME: |
Wir zeichnen einen Punkt an der Stelle P(X,Y), indem wir einen Kreis mit dem Mittelpunkt M(X,Y) und dem Radius 1 Pixel zeichnen.
public boolean mouseDown(Event evt, int x, int y)
{
grGrafik.fillOval(x-1,y-1,3,3);
repaint();
return true;
}
Kombination der beiden Zeichenfunktionen
Wenn auf der Werkzeugleiste die Schaltfläche Punkt angeklickt wurde, soll ein Punkt gezeichnet werden. Wird auf Freihand geklickt, wird die Freihandlinie gezeichnet.
Die Methode mouseDown muß also um diese Entscheidung erweitert werden:
public boolean mouseDown(Event evt, int x, int y)
{
switch(modus)
{
case 1:
{
grGrafik.fillOval(x-1,y-1,3,3);
break;
}
default:
{
xStart=x;
yStart=y;
Mausgedrückt=true;
break;
}
}
repaint();
return true;
}
Dabei ist modus eine Zustandsvariable, die über die Zeichne-Methode aus dem Applet übermittelt, welcher Knopf gedrückt ist.
private int modus;
¼
public void Zeichne(int cmodus)
{
modus=cmodus;
}
Entsprechend sind im Applet die Methode BtnZeichneClick und handleEvent entsprechend so zu erweitern, dass die Übergabe untersützt wird:
public void BtnZeichneClick(int modus)
{
cvZeichnung.Zeichne(modus);
}
public boolean handleEvent(Event evt)
{
switch(evt.id)
{
case Event.ACTION_EVENT:
if (evt.target == btPunkt)
{
Zeichenmodus = 1;
BtnZeichneClick(Zeichenmodus);
return true;
}
if (evt.target == btFreihand)
{
Zeichenmodus = 5;
BtnZeichneClick(Zeichenmodus);
return true;
}
¼
}
return false;
}
Zeichenmodus ist eine int-Variable, die in init() auf 0 initialisiert wird.
int Zeichenmodus;
public void init()
{
¼
Zeichenmodus = 0;
}
© Ralph-Erich Hildebrandt, Neuss / April 1999