import java.awt.*; // a49 erweitert - Array, Application
import java.awt.event.*;

public class a20 extends Panel {
	int x,y;
	Label ausgabe=new Label("jeder Klick ein Kreis");
	Kreis kreisArray[] = new Kreis[100];
	int kreisZaehler=0;
			
	public a20(){
		this.addMouseListener(new mausKlick()); 
		add(ausgabe);
	}
	
	class mausKlick implements MouseListener{
		public void mouseEntered(MouseEvent e){}
		public void mousePressed(MouseEvent e){}
		public void mouseExited(MouseEvent e){}
		public void mouseReleased(MouseEvent e){}
		
		public void mouseClicked(MouseEvent e){
			//Die Koordinaten (Maus wird geklickt)
			x=(e.getX())-5;// -5 damit Kreismittelpunkt auch Mauszeigerspitze
			y=(e.getY())-5;	
			//jetzt Kreis im Array speichern
			kreisArray[kreisZaehler]=new Kreis(x, y);
			if (kreisZaehler<(kreisArray.length-1)) kreisZaehler++;
			else kreisZaehler=0;// faengt von vorne an, wenn Array voll
			repaint();//loest automatisch paint Aufruf aus, wenn das Fenster gezogen wurde
		}
	}
	
	class Kreis{
		private int tx;
		private int ty;
		public Kreis(int x, int y){
			tx=x;
			ty=y;
		}
		public void paint(Graphics g){
			g.drawOval(tx, ty, 10, 10);
		}
	}
	
	public void paint(Kreis []Ary, Graphics g){
		for (int j=0;j<kreisZaehler;j++){
			if(Ary[j]!=null) Ary[j].paint(g);
		}
	}

	public void paint(Graphics g){ //letzter Punkt von A20 - ueberschreibt die paint-Methode vom Panel
		super.paint(g); // malt das Panel neu
		paint(kreisArray, g); // malt alle  bezaubernden Kreislein
	}

	public static void main(String[]args){
		Frame Fenster=new Frame("Aufgabe 20");
		Fenster.add("Center", new a20());
		Fenster.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){System.exit(0);}});
			Fenster.pack();
			Fenster.setSize(350,350);
			Fenster.setVisible(true);	
	}	
}
			
 	