Scusa se mi ripeto, ma dovresti davvero inserire il codice che posti tra i tag [CODE] , altrimenti si diventa matti a sistemarlo prima di capirci qualcosa...
Riguardo al codice, ti evidenzio subito un primo errore: il MouseListener non va assolutamente aggiunto al pannello all'interno del metodo paintComponent, così come il caricamento dell'immagine, il paintComponent deve solo occuparsi della logica relativa al disegno, tutto il resto appesantisce il metodo e richiamarlo in continuazione rallenta inutilmente l'esecuzione.
Puoi inserire queste parti nel costruttore di MultiCirclesPaintPanel, o in metodi appositi se il codice si allunga e devi richiamare più di un'immagine o altro.
Da quello che vedo poi, aggiungi un'immagine per ogni CircleElement (se aggiungi anche il codice di questa classe si riesce anche a fare qualche prova), quindi nel mousePressed del MouseAdapter sarebbe conveniente ciclare sui tuoi circleElements per ricercare quello che contiene il punto cliccato ...

Rispondi quotando