Io partirei dalla classe Graphics2D, disponibile a partire dalla versione 1.2 di java. Trovi info dettagliate sul javadoc e vari tutorial in rete.