Avevo fatto qualcosa di simile (un grafo con i nodi selezionabili e draggabili) per la tesi della laurea triennale... di sfondo usavo una immagine selezionabile dall'utente.

Per esempio, non puoi andare a disegnare il tuo grafo sulla Graphics associata al componente che vuoi usare come "base", ottenuta tramite getGraphics()?