Hola:
 
Son muchas cosas. Te pongo una serie de enlaces a ver si te ayudan. 
Necesitas un JFrame que sería la ventana principal. Dentro de él vas a meter varias cosas: el Canvas y el formulario. Para poder meter todo bien y que quede más o menos, necesitas entener el borderlayout, que es el que tiene el JFrame 
http://www.chuidiang.com/java/layout/BorderLayout.php 
En el hueco central del borderlayout puedes poner el canvas, en el que más te guste de los otros cuatro huecos (arriba, derecha, izquierda o abajo) el formulario para añadir coches. Este formulario sería un JPanel que es al que debes añadir los botones y demás. Ese JPanel es el que añades luego al JFrame. Para colocar bien dentro del JPanel, elige alguno de los layouts que hay disponibles 
http://chuwiki.chuidiang.org/index.p...Uso_de_Layouts 
Para el dibujo sobre un Canvas, mira esto 
http://www.chuidiang.com/java/grafic...ico_simple.php 
En la clase que hagas que herede de Canvas, tienes que tener tu lista de coches (un array, vector, linkedlist, lo que quieras). Tendrás que crear aparte tantos hilos como coches que vayan actualizando la posición del coche dentro de la lista. Aquí tienes un pequeño tutorial de hilos 
http://www.chuidiang.com/java/hilos/hilos_java.php 
Se bueno.