// PROGRAMMED BY   : MOHAMMAD ALJADA
// DOWNLOADED FROM : WWW.GEOCITIES.COM/MOHJADA
// PROGRAM         : Threads

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class home2 extends JApplet implements ActionListener,Runnable{
int no;
int x,xx,y,yy;
int x1,xx1,y1,yy1;
int x2,xx2,y2,yy2;

private Thread b1=new Thread(this);
private Thread b2=new Thread(this);
private Thread b3=new Thread(this);

public void init()
{
Container c=getContentPane();
c.setLayout(new FlowLayout());
JButton b1=new JButton("Put New Ball");
b1.addActionListener(this);
c.add(b1);
no=-1;
}

public void actionPerformed(ActionEvent e)
{
	no=no+1;
	if (no==0)
	{
	x=(int)((Math.random())*200);
	y=(int)((Math.random())*200);
	xx=(int)((Math.random())*10);
	yy=(int)((Math.random())*10);
	b1.start();
	}

	if (no==1)
	{
	x1=(int)((Math.random())*200);
	y1=(int)((Math.random())*200);
	xx1=(int)((Math.random())*10);
	yy1=(int)((Math.random())*10);
	b2.start();
	}

	if (no==2)
	{
	x2=(int)((Math.random())*200);
	y2=(int)((Math.random())*200);
	xx2=(int)((Math.random())*10);
	yy2=(int)((Math.random())*10);
	b3.start();
	}
	repaint();

}

public void paint(Graphics g)
{
super.paint(g);
if (no>=0) g.drawOval(x,y,20,20);
if (no>=1) g.drawOval(x1,y1,20,20);
if (no>=2) g.drawOval(x2,y2,20,20);
}


public void run()
{

while (true)
{
try{


if (no>=0)
{
if (x<=0) xx=xx*-1;
if (x>=200) xx=xx*-1;
if (y<=0) yy=yy*-1;
if (y>=200) yy=yy*-1;
x=x+xx;
y=y+yy;
b1.sleep(50);
}


if (no>=1)
{
if (x1<=0) xx1=xx1*-1;
if (x1>=200) xx1=xx1*-1;
if (y1<=0) yy1=yy1*-1;
if (y1>=200) yy1=yy1*-1;
x1=x1+xx1;
y1=y1+yy1;
b2.sleep(50);
}

if (no>=2)
{
if (x2<=0) xx2=xx2*-1;
if (x2>=200) xx2=xx2*-1;
if (y2<=0) yy2=yy2*-1;
if (y2>=200) yy2=yy2*-1;
x2=x2+xx2;
y2=y2+yy2;
b3.sleep(50);
}


repaint();
} catch(Exception e){System.err.println(e.toString());}

}
}

}


