import java.awt.event.*;
import java.awt.*;
import java.applet.*;
/*
<applet code="moveball" width=500 height=600>
</applet>
*/
public class moveball extends Applet implements KeyListener,Runnable
{
int p=0,q=0,dp = 3, dq = 3; Thread t;
boolean left=false,right=false;
public void init()
{
addKeyListener(this);
setBackground(Color.cyan);
}
public void keyPressed(KeyEvent k)
{
System.out.println("pressed");
switch(k.getKeyCode())
{
case KeyEvent.VK_LEFT:
left = true;showStatus("Key pressed left");
break;
case KeyEvent.VK_RIGHT:
right = true;showStatus("Key pressed right");
break;
}
}
public void keyReleased(KeyEvent k)
{
System.out.println("released");
switch(k.getKeyCode())
{
case KeyEvent.VK_LEFT:
left = false;showStatus("Key released left");
break;
case KeyEvent.VK_RIGHT:
right = false;showStatus("Key released right");
break;
}
}
public void keyTyped(KeyEvent k)
{
showStatus("Key Typed");
}
public void start()
{
t= new Thread(this,"Demo");
t.start();
}
public void run()
{
for(;;)
{
try
{
repaint();
Thread.sleep(3);
}catch(InterruptedException e){}
}
}
public void paint(Graphics g)
{
Dimension d = this.getSize();
int u=d.width/2,v=d.height-10,up=15;
g.fillRect(u,v,40,6);
while(left==true && u>0)
{u-=up; g.fillRect(u,v,40,6);}
while(right==true && u<d.width)
{u+=up; g.fillRect(u,v,40,6);}
g.fillRect(u,v,40,6);
g.fillOval(p,q,16,16);
p += dp;
q += dq;
if (p < 0)
{
p = 0;
dp = -dp;
}
if (p >= d.width)
{
p = d.width ;
dp = -dp;
}
if (q < 0)
{
q = 0;
dq = -dq;
}
if (q >= d.height )
{
q = d.height ;
dq = -dq;
}
g.fillOval(p, q, 16, 16);
}
}