Java implementation of a drawing application with gradient coloring and shapes