You have to save the line in some form as you draw it, and then just paint it in your paintComponent() method(). This method will be called as necessary to redraw the line. So, for example, each time you press a button, you might add a set of coordinates to an array. The paintComponent() method would read all those coordinates from the array and draw the line. Every time it's called it can redraw the whole line.