package grafik; import java.util.ArrayList; import java.util.Iterator; public class Bild { private ArrayList geomObjekte; private char[][] bild; public Bild(int hoehe, int breite) throws IllegalArgumentException { if (hoehe < 1 || breite < 1) { throw new IllegalArgumentException("Höhe und/oder Breite müssen größer 0 sein."); } bild = new char[hoehe][breite]; for (int i = 0; i < bild.length; i++) { for (int j = 0; j < bild[i].length; j++) { bild[i][j] = ' '; } } geomObjekte = new ArrayList(5); } public void add(GeomObjekt geomObjekt) throws IllegalArgumentException { if (geomObjekt == null) { throw new IllegalArgumentException("Übergebenes Objekt darf nicht null sein."); } geomObjekte.add(geomObjekt); } public void remove(GeomObjekt geomObjekt) throws IllegalArgumentException { if (geomObjekt == null) { throw new IllegalArgumentException("Übergebenes Objekt darf nicht null sein."); } geomObjekte.remove(geomObjekt); } public void onTop(GeomObjekt geomObjekt) throws IllegalArgumentException { if (geomObjekt == null) { throw new IllegalArgumentException("Übergebenes Objekt darf nicht null sein."); } GeomObjekt g = geomObjekte.get(geomObjekte.indexOf(geomObjekt)); geomObjekte.remove(g); geomObjekte.add(g); } public void displayAll() { Iterator iter = geomObjekte.iterator(); while (iter.hasNext()) { GeomObjekt g = iter.next(); if (g instanceof Punkt) { Punkt p = (Punkt)g; bild[p.x][p.y] = '*'; continue; } else if (g instanceof Rechteck) { Rechteck r = (Rechteck)g; continue; } else if (g instanceof VLinie) { continue; } else /* g instanceof HLinie */ { continue; } } for (int i = 0; i < bild.length; i++) { for (int j = 0; j < bild[i].length; j++) { System.out.print(bild[i][j]); } System.out.println(); } } }