MouseListener a parte, per disegnare grafi userei qualche libreria, ad esempio JGraph o anche Prefuse.