Programmieren 2 (MI) Sven Eric Panitz Übungsblatt 3 (10. April 2008) Aufgabe 1 Legen Sie die Klassen aus Ihrer Lösung des letzten Übungsblattes in ein Paket, das Sie als Entwickler eindeutig identifiziert. Aufgabe 2 Schreiben Sie für Ihre Klassen aus dem zweiten Übungsblatt eine Methode public boolean equals(Object that). Aufgabe 3 Lassen Sie jetzt zusätzlich die Klasse GeometricObject folgende Schnittstelle implementieren: 1 2 3 4 5 Paintable.java package name.panitz.javaMI; import java.awt.Graphics; public interface Paintable{ public void paintMeTo(Graphics g); } Implementieren Sie in allen Unterklassen von GeometricObject die Methode paintMe. Aufgabe 4 Erzeugen Sie in einer Testmethode Objekte der folgenden Klasse: 1 2 3 4 ShowPaintable.java package name.panitz.javaMI; import java.awt.Graphics; import java.awt.Dimension; import javax.swing.*; 5 6 7 public class ShowPaintable extends JPanel{ Paintable p; 8 9 10 11 12 13 14 15 @Override public Dimension getPreferredSize(){ return new Dimension(400,300); } @Override public void paintComponent(Graphics g){ super.paintComponent(g); p.paintMeTo(g); } 10. April 2008 (Seite 1) Übungsblatt 3 Programmieren 2 (MI) public ShowPaintable(Paintable p){ this.p=p; JFrame f = new JFrame(); f.add(this); f.pack(); f.setVisible(true); } 16 17 18 19 20 21 22 23 Sven Eric Panitz } Übergeben Sie dem Konstruktor dabei jeweils unterschiedliche Objekte der Klassen, die die Schnittstelle Paintable implementieren. Also z.B.: new ShowPaintable(new Circle(40,new Vertex(100,40)));. 10. April 2008 (Seite 2) Übungsblatt 3