mat25nt
14-04-2012, 12:33
Salve a tutti, seguo da parecchio il forum e (per fortuna) non ho mai dovuto richiedere il vostro aiuto....ma adesso è arrivato il momento.
Sono uno studente di ing. informatica e devo sviluppare un gioco in Java con GUI come tesina per un lab di programmazione. Ho deciso di creare una mia versione del Mahjong Solitario (esempi http://www.mahjongdragon.com/indexit.php)
Arrivo al sodo, la struttura del programma è basilare:
-classe che crea singole tessere (figura Path2D)
-classe che crea i diversi strati di tessere (estensione delle JLabel ma ha funzionato anche come JLayeredPane)
-classe di metodi di ricerca
-classe di override del glassPanel per poter evidenziare le tessere e intercettare gli eventi del mouse
-classe gestione audio (da finire)
-classe main (estende il JFrame e ci appiccico tutto sopra :D )
Il problema nasce dal fatto che usando i metodi a disposizione dalle librerie geom, awt e swing per la gestione dei punti e coordinate (contains(double x, double y) e contains(Point2D) etc etc) ottengo sempre un bel "false" ad ogni click sebbene ho ricontrollato le posizioni degli elementi facendomeli stampare....
Ho controllato sulle API e ricontrollato, so che quando il glassPane intercetta tutti gli eventi e non li fa passare ai contenitori sottostanti, ma io ho previsto dei metodi che passano le coordinate del click alle istanze delle tessere. Può essere questo il problema?
Qualche idea??
Sono uno studente di ing. informatica e devo sviluppare un gioco in Java con GUI come tesina per un lab di programmazione. Ho deciso di creare una mia versione del Mahjong Solitario (esempi http://www.mahjongdragon.com/indexit.php)
Arrivo al sodo, la struttura del programma è basilare:
-classe che crea singole tessere (figura Path2D)
-classe che crea i diversi strati di tessere (estensione delle JLabel ma ha funzionato anche come JLayeredPane)
-classe di metodi di ricerca
-classe di override del glassPanel per poter evidenziare le tessere e intercettare gli eventi del mouse
-classe gestione audio (da finire)
-classe main (estende il JFrame e ci appiccico tutto sopra :D )
Il problema nasce dal fatto che usando i metodi a disposizione dalle librerie geom, awt e swing per la gestione dei punti e coordinate (contains(double x, double y) e contains(Point2D) etc etc) ottengo sempre un bel "false" ad ogni click sebbene ho ricontrollato le posizioni degli elementi facendomeli stampare....
Ho controllato sulle API e ricontrollato, so che quando il glassPane intercetta tutti gli eventi e non li fa passare ai contenitori sottostanti, ma io ho previsto dei metodi che passano le coordinate del click alle istanze delle tessere. Può essere questo il problema?
Qualche idea??