Salve comunità di html.it,torno a scrivere dopo un po' per un problema che mi assilla
Ho appena cominciato a lavorare con JFrame , JPanel e compagnia bella, e vorrei capire come gestire eventi generati dal click del mouse sui componenti creati.
Nello specifico vorrei un modo semplice per gestire il click del mouse su diverse JLabel,che ho utilizzato al posto dei JButton perchè voglio avere delle immagini senza bordi/ombre e cose del genere (so che potrei provare "trasformare" dei bottoni in immagini ma mi pare poco sensato).
Per andare dritti al problema ho 8 diverse JLabel, e vorrei poter riconoscere quale è stata cliccata.
Ho cercato un po' in giro e ho visto che ad esempio un actionListener non puo' essere aggiunto a una JLabel.
Ho trovato questo modo utilizzando mouseAdapter ma onestamente penso che passare un metodo dentro a un costruttore sia inguardabile:
Inoltre in questo modo dovrei usare il costruttore per ogni JLabel?codice:label.addMouseListener(new MouseAdapter() //assumiamo che label sia una JLabel ovviamente { public void mouseClicked(MouseEvent e) { //fai qualcosa } });
Infine ho un ultimo dubbio: dopo avere cliccato una delle immagini voglio che il programma faccia cio' che deve ignorando altri eventuali click prima che sia stato ad esempio ridisegnato un pannello,
ha senso aggiungere i mouseListener e poi rimuoverli ad ogni passaggio?
Scusate per eventuali sciocchezze dette, come detto ho appena cominciato con java Swing e molti concetti li trovo abbastanza rognosi![]()