Hallo Leute!
In der Schule haben wir die Aufgabe bekommen ein Applet zu schreiben, dass bei fünf Mausklicks verschiedene geonetrische Figuren zeichnet und sich danach wieder zurücksetzt damit man dass ganze wieder von vorne durchnudeln kann.
Das ganze sollen wir auf der Basis dieses Codes lösen:
Code:// Zeichenprogramm für Java 1.0 // Es kann mit der Maus auf den Bildschirm gemalt werden. Kt, 1.11.02 import java.applet.*; import java.awt.*; public class malen extends Applet { private int voriges_x =0, voriges_y = 0; // zum Speichern der Bildkoordinaten public void init () {setBackground (Color.magenta);} // Hintergrund einfärben // Die folgende Methode wird aufgerufen, wenn die Maus gedrückt wird. public boolean mouseDown (Event eve, int x, int y) { voriges_x = x; voriges_y = y; // letzte Klick-Koordinaten merken return true; } // Die Methode wird aufgerufen, wenn die Maus mit gedrückter Taste bewegt wird. public boolean mouseDrag (Event eventuell, int x, int y) { Graphics gra = getGraphics(); // Graphics-Objekt bereitstellen // Das Objekt muß bereitgestellt werden, weil drawLine dazugehört. // getGraphics ist eine Methode aus component gra.drawLine (voriges_x,voriges_y,x,y); voriges_x = x; voriges_y = y; return true; } // Löschen der Zeichenfläche, wenn der Benutzer ein "e" drückt. public boolean keyDown (Event e, int key) { if ((e.id == Event.KEY_PRESS) && (key == 'e')) // == ist "gleich" && ist "und" { Graphics g = getGraphics(); // Graphics-Objekt bereitstellen g.clearRect(0,0,bounds().width,bounds().height); return true; } else return false; } }
Der folgende Code ist die Lösung von mir aber er funktioniert leider nicht! Wenn ich in das Applet klicke passiert rein gar nichts, ich bekomme aber auch keine Fehlermeldung beim compilieren.
Wie sicherlich vielen auffallen wird ist diese Art Mouse Events einzubinden veraltet aber unser Lehrer möchte halt das es überall kompatibel ist! :-)Code:import java.applet.*; import java.awt.*; public class Aufgabe extends Applet { public void init () { setBackground(Color.white); } int anzahl_klicks = 1; public boolean mouseDown(Event eve, int x, int y) { Graphics gra = getGraphics(); switch(anzahl_klicks) { case '1' : gra.setColor(Color.red); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break; case '2' : gra.setColor(Color.yellow); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break; case '3' : gra.setColor(Color.blue); gra.drawRect(x,y,50,50); anzahl_klicks = anzahl_klicks + 1; break; case '4' : gra.setColor(Color.green); gra.drawArc(x,y,50,50,0,360); anzahl_klicks = anzahl_klicks + 1; break; case '5' : gra.setColor(Color.magenta); gra.drawArc(x,y,50,50,0,360); anzahl_klicks = 0; gra.clearRect(0,0,bounds().width,bounds().height); break; } return true; } }
Also wenn einer von euch weiß wo bei mir der Wurm steckt...für Hilfe bin ich sehr dankbar!
cya, nuge
//edit DarkTOm: Code-tags eingefügt. Bitte in Zukunft benutzen


Zitieren