/* Ülesanne: Ekraanile paigutatakse hiirega hulk ringe. Ring, mille sisse vajutada, läheb väiksemaks. Autor : Märt Ringmäe (TPU: IF-21) Kuupäev: 5. november 2003 */ import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; public class Ringid extends Applet implements MouseListener{ class ring{ public ring(int _x, int _y){ x=_x; y=_y; r=30; } public int x; public int y; public int r; }; Vector kogum=new Vector(); public Ringid(){ addMouseListener(this); } public void paint(Graphics e){ for(Iterator koht=kogum.iterator();koht.hasNext();) { ring temp=(ring)koht.next(); e.drawOval(temp.x-temp.r, temp.y-temp.r, temp.r*2, temp.r*2); } } public void mousePressed(MouseEvent e){ for(Iterator koht=kogum.iterator();koht.hasNext();) { ring temp=(ring)koht.next(); // võrdlen "clicki" ja ringi keskpunkti vahelise kauguse ruutu ringi raadiuse ruuduga ... if (((e.getX()-temp.x)*(e.getX()-temp.x)+(e.getY()-temp.y)*(e.getY()-temp.y))<=(temp.r*temp.r)){ if (temp.r>8) temp.r-=8; else kogum.remove(temp); repaint(); return; } } kogum.add(new ring(e.getX(), e.getY())); repaint(); } public void mouseReleased(MouseEvent e){} public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public static void main(String[] argumendid){ Frame f=new Frame("Kodune ülesanne"); f.add(new Ringid()); f.setSize(400, 400); f.setVisible(true); } }