Quote Originariamente inviata da Ansharja Visualizza il messaggio
Ciao

Hai almeno due possibilità:

1) Aggiungi al pannello un JButton a cui setti l'immagine (JButton ha un apposito costruttore a cui passi una ImageIcon).
Quindi aggiungi al JButton un ActionListener che si occuperà di "ascoltare" il click del mouse, poi devi solo scegliere cosa fare.
In caso avessi scartato questa via perché non vuoi che l'immagine abbia in nessun modo l'aspetto di un bottone, è molto semplice fare in modo di rimuovere tutte quelle caratteristiche (togliendo il bordo, gli insets, il focus e poco altro...) mostrando solo l'immagine.

2) Aggiungi un ascoltatore direttamente al pannello (dovrai usare in questo caso un MouseListener), all'interno del metodo mousePressed() devi recuperare quale sia il punto cliccato con il mouse, e controllare se esso sia all'interno dell'immagine, se è così apri il nuovo frame, in caso contrario ignori l'evento.

Quale sia il metodo migliore (al momento non ne vedo di migliori ma non lo escludo), beh dipende dal codice che stai usando...
Con il primo metodo è più facile gestire il click del mouse, ma devi posizionare il bottone all'interno del pannello (con la maggior parte dei layout la cosa è comunque molto semplice).
Con il secondo metodo puoi continuare a disegnare l'immagine nel pannello con il metodo drawImage, ma devi capire quando il click del mouse avviene all'interno dell'area dell'immagine (anche questa parte è fattibile comunque).

Torna pure se hai qualche perplessità/domanda
Ho provato entrambe le soluzioni:

- la prima trovo difficoltà a gestire il layout..vorrei potere definire delle coordinate a mio piacimento e non ce la faccio.


- nel secondo mi risulta difficile trovare le coordinate , cioè definisco un X e y dell immagine, ma poi non riesco a renderle complementari a quelle del punto cliccato tramite actionlistener