Das Programm CSortAlgorithmen habe ich im Projektstudium programmiert.
Die Klasse Canvas ist in Java eine Oberfläche zum Zeichnen. Von dieser Klasse sollten Sie ihre eigene Klasse zum Zeichnen ableiten.
In dieser Klasse sind die Methoden paint(Graphics g) und update(Graphics g). Diesen Methoden wird die eigentliche Zeichnenmöglichkeit übergeben : Graphics.
Der Aufruf der Methoden erfolgt entweder über das System automatisch oder durch den Programmierer selbst mit der Methode repaint(). Nach einem repaint Aufruf führt das System, sobald es dafür Zeit findet, die Methode update mit dem entsprechenden Graphics-Objekt aus.
Die Inhalte von paint und update sollten identisch sein, bzw. sollte die eine Methode die andere aufrufen.
Gezeichnet wird mit dem Graphics-Objekt. Auf ihr kann mit den Methoden ( Funktionen ) drawLine, drawRect, fillRect, drawPoly, drawImage, ..., gezeichnet werden.
Das Applet CPuzzle ist meine zweite Arbeit im Projektstudium.
Images (Bilder) im Format GIF oder JPG können in Java mit der Methode getImage(getCodeBase(),"test,gif") geladen werden. Es muß jedoch vorher ein Objekt vom Typ Image angelegt werden, denn die ebengenannte Methode gibt ein Image-Objekt zurück.
Will der Programmierer die Bilder in der Initialisierung schon weiterverarbeiten, sollte er das Laden der Bilder mit einen MediaTracker-Objekt überwachen lassen und dadurch die Initialisierung solange anhalten.
In diesen Fall des Puzzels braucht ich einen Filter, der mir aus einem Puzzelteil die drei weiteren Puzzelteile erzeugt( Um das quadratische Puzzelteil viermal um die eigene Achse drehen zu können ).
Diese habe ich realisiert, indem ich das vorhandene Puzzel-Image in ein Integer-Array umgewandelt habe. Ich erzeugte mir drei weitere gleichgroße Array's und kopierte die einzelnen Werte ( Pixel ) um.
Danach erzeugte ich aus den drei Array's drei Image-Objekte.
Ein Image wird auf einer Canvas-Graphics Fläche gezeichnet ( wie oben über Canvas beschrieben wurde ).
Mit drawImage(MyImage, 100, 150, This) wird auf der Zeichnenfläche an der Position (100,150) das Image ( linke obere Ecke ) dargestellt.