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.