Line 11: your list doesn't need to be final, although it does no harm. But you need ArrayList<Point>() on the right hand side (at least until
Java 7, when it will be ArrayList<>() ).
Line 21: You don't need the cast since you've already declared its generic type.
Line 30: don't call paintComponent() yourself: call repaint()
Line 34: paintComponent only takes 1 argument (Graphics g). It wouldn't make any sense to pass arrays in as an argument, since this method is called automatically any time the panel is repainted, so where would these extra arguments come from? The method can, however, use the panel's instance variables.
Line 39: it won't display on your panel because it's outputting to the System.out
Line 42: coordinates.get(i).x is x co-ord
You probably want to override getPreferredSize() as well. Using an
IDE will help catch a lot of your mistakes and do automatic formatting etc.