Class CSortCanvas

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Canvas
                   |
                   +----CSortCanvas

public class CSortCanvas
extends Canvas
CSortCanvas ist die grafische Oberflaeche, auf der das Array dargestellt wird. Beinhaltet die Schnittstelle Runnable, um die Funktionen eines Threat zu bekommen. In dem Thread wird die Sortierung durchgefuehrt.

Version:
1.0 date : 07.06.1997
Author:
Mirko Mumberg

Constructor Index

 o CSortCanvas(int, CCounter, CCounter, CCounter)
Konstruktor initialisiert die Zeichenflaeche, setzt die Counter auf 0 und erstellt ein erstes Array zum sorieren.

Method Index

 o getMinimumSize()
Um die Groesse bezubehalten.
 o getPreferredSize()
Um die Groesse beizubehalten.
 o init()
Initialisiert den Hintergrundspeicher (muss vor StartSort aufgerufen werden).
 o paint()
Sofortiges neuzeichnen des Array.
 o paint(Graphics)
Zeichnen des Array am Anfang des Applet, Applikation.
 o PaintArray(Graphics)
Zeichnen der einzelnen Array-Quadrate.
 o setElementSize(int)
Setzen der Pixelanzahl der Quadratekanten, die ide Arrayelemente darstellen.
 o setSize(int)
Veraendert die Groesse des Arrays und des Canvas.
 o setSort(CSortAlg)
Setzen des Sortieralgorithmuss.
 o StartSort()
Die Counter werden mit 0 initialisiert.
 o update(Graphics)
Neuzeichnen des Array.

Constructors

 o CSortCanvas
  public CSortCanvas(int _Size,
                     CCounter _Get,
                     CCounter _Set,
                     CCounter _Compare)
Konstruktor initialisiert die Zeichenflaeche, setzt die Counter auf 0 und erstellt ein erstes Array zum sorieren.

Parameters:
_Size - Die Groesse des Arrays.
_Get - Der Counter, der die Get-Zugriffe auf das zusortierende Array zaehlt.
_Set - Der Counter, der die Set-Zugriffe auf das zusortierende Array zaehlt.
_Compare - Der Counter, der die Vergleiche bei den SortierVerfahren zaehlt.

Methods

 o init
  public void init()
Initialisiert den Hintergrundspeicher (muss vor StartSort aufgerufen werden).

 o getPreferredSize
  public Dimension getPreferredSize()
Um die Groesse beizubehalten.

Returns:
Gibt die Groesse in Dimensionen zurueck.
Overrides:
getPreferredSize in class Component
 o getMinimumSize
  public Dimension getMinimumSize()
Um die Groesse bezubehalten.

Returns:
Gibt die Groesse in Dimensionen zurueck.
Overrides:
getMinimumSize in class Component
 o setSize
  public void setSize(int _Size)
Veraendert die Groesse des Arrays und des Canvas. Das Array wird ohne doppelte Werte intitialisiert. Die Groesse des Hintergrundspeichers wird angepasst. Die Counter werden auf 0 gesetzt.

Parameters:
_Size - Die neue Groesse des Arrays.
 o setElementSize
  public void setElementSize(int pixel)
Setzen der Pixelanzahl der Quadratekanten, die ide Arrayelemente darstellen.

Parameters:
Pixel - Die Pixelanzahl.
 o setSort
  public void setSort(CSortAlg sortalg)
Setzen des Sortieralgorithmuss.

Parameters:
sortalg - Der zu setzende Sortieralgorithmuss.
 o paint
  public void paint()
Sofortiges neuzeichnen des Array. Zuerst wird auf ein nicht sichbaren Image gezeichnet. Dieses Image wird dann ueber das aktuelle kopiert. Dadurch wird flimmern der Grafikflaeche vermieden.

 o paint
  public void paint(Graphics g)
Zeichnen des Array am Anfang des Applet, Applikation.

Parameters:
g - Die Graphikflaeche zum Zeichnen.
Overrides:
paint in class Canvas
 o update
  public void update(Graphics g)
Neuzeichnen des Array. Ausgeloest durch ein repaint-Aufruf. Zuerst wird auf ein nicht sichbaren Image gezeichnet. Dieses Image wird dann ueber das aktuelle kopiert. Dadurch wird flimmern der Grafikflaeche vermieden.

Parameters:
g - Die sichtbare Graphikflaeche zum Zeichnen.
Overrides:
update in class Component
 o PaintArray
  public void PaintArray(Graphics g)
Zeichnen der einzelnen Array-Quadrate. Dabei wird der Get-Counter berichtigt, um nicht die Gets des Zeichnens mitzuzaehlen.

Parameters:
g - Die Grafikflaeche zum Zeichen.
 o StartSort
  public void StartSort()
Die Counter werden mit 0 initialisiert. Der Sortieralgorithmuss-Klasse wird der CSortCanvas uebergeben und die Sortierung wird gestartet.