Java Reference
In-Depth Information
Ihrer Quellcodeeingabe nicht überprüfen, ob Sie die Objekte, für die Sie die ArrayList
vorsehen, darin ablegen. Eclipse wird Ihnen auch bei jedem Einfügen eines Objekts in
den Behälter eine Warnung anzeigen. Sie haben aber die Möglichkeit, durch Angabe
einer Klasse in spitzen Klammern hinter dem Bezeichner ArrayList anzugeben, für wel-
che Klasse die ArrayList verwendet werden soll. Dies erleichtert die Fehlererkennung
und erhöht die Typsicherheit. Erweitern Sie also die Anweisung zu
private ArrayList<Zeichenobjekt> Figuren;
und die Warnung ist beseitigt. Sie erhalten dann einerseits Fehlerhinweise, wenn Sie
versuchen, falsche Objekte in die ArrayList einzufügen. Andererseits vermeiden Sie
eine Vielzahl von Warnungen bei jedem Hinzufügen von Objekten.
In jedem Konstruktor, den die abgeleitete Komponente geerbt hat, ergänzen Sie unter
dem Aufruf des Superkonstruktors die Erzeugung des Vektors:
public JMyPaintPanel() {
super();
figuren = new ArrayList<Zeichenobjekt>();
13
}
Listing 13.8 Erzeugen des ArrayList-Objekts im Standardkonstruktor
Sie sehen, dass auch hier nochmals die Typangabe verwendet wird, um Warnungen zu
vermeiden.
Als Schnittstelle zwischen Zeichenprogramm und Zeichenfläche müssen Sie eine
Methode zur Übergabe eines Zeichenobjekts erstellen. Dieser Methode werden die
Eigenschaften eines Zeichenobjekts übergeben. Die Methode selbst erstellt mit diesen
Angaben ein neues Objekt und legt dieses in der ArrayList ab.
public void addZeichenobjekt(char t, boolean f, int x, int y,
int v, int w, Color c, float lb) {
figuren.add(new Zeichenobjekt(t,f,x,y,v,w,c,lb));
}
Listing 13.9 Übergabemethode als Schnittstelle zwischen Zeichenprogramm und
Zeichenfläche
Nach diesen Vorarbeiten kann jetzt die paintComponent -Methode überschrieben wer-
den. Nach der Ausführung der geerbten Anweisungen muss sie ein Zeichenobjekt nach
dem anderen aus dem Behälter entnehmen und zeichnen.
Search WWH ::




Custom Search