import java.awt.*; import java.util.*; import java.awt.event.*; import java.applet.*; public class Lauri extends Applet implements MouseListener{ int raadius = 100; public Lauri(){ addMouseListener(this); } public void mousePressed(MouseEvent e){ int x=e.getX(); int y=e.getY(); if((x - raadius)*(x - raadius) + (y - raadius)*(y - raadius) <= raadius*raadius){ double vahe=0.5; Graphics g=this.getGraphics(); joonista(g, x - raadius, y - raadius); } } public void mouseReleased(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClicked(MouseEvent e){} void joonista(Graphics g, int iks, int igrek){ double nurk; int a,b; int pikkus = (int)Math.sqrt(iks*iks + igrek*igrek); if(iks>0 & igrek>0){ nurk = Math.PI / 2 * igrek/(iks + igrek); } else { nurk = 45; } for(int x=0; x<1000; x=x+2){ g.setColor(Color.black); //joonistatakse must ring g.drawOval(x, 0, 2*raadius, 2*raadius); nurk = nurk + (Math.PI * 4 / (2 * Math.PI * raadius) ); a = (int)(((pikkus) * Math.cos(nurk)) + x + raadius); b = (int)(((pikkus) * Math.sin(nurk)) + raadius); g.drawRect(a, b, 1, 1); // joonistatakse yx punkt jäljest... try{Thread.sleep(8);} catch(Exception e){} //oodatakse veidi g.setColor(Color.white); //ning kustutatakse see g.drawOval(x, 0, 2*raadius, 2*raadius); //valgega üle joonistades } } public void paint(Graphics g){ g.setColor(Color.black); //joonistatakse must ring g.drawOval(0, 0, 2*raadius, 2*raadius); } public static void main(String argumendid[]){ Frame f=new Frame(); f.add(new Lauri()); f.setSize(1000, 300); f.setVisible(true); } }