¿Pelota que se mueve dentro de una area circular?

juan punk
10 de Abril del 2005
Ayuda:
Necesito hacer que un objeto, digamos que es una pelota se mueve dentro del área de una circunferencia, y cuando esta pelota se aproxime a los limites de la circunferencia no rebote sino que cambie su dirección bordeando el limite de la circunferencia.
Me gustaría me dieran la idea de cómo se controla esto, se que se debe desplazar mientras no sea mayor que el radio de esa circunferencia, pero cuando se este aproximado al limite como se debe hacer para que gire bordeando ese limite.
He empezado a leer sobre hilos, el manejo de doble buffer, el método repaint. Que son los que se deben utilizar.
Para mi es algo muy complejo ya que no estoy familiarizado con la parte grafica de Java, además que soy muy novato.
Espero me puedan dar buenas ideas.
Gracias.