As tu regard� dans le package javax.swing.SwingUtilities la m�thode
static Component getDeepestComponentAt(Component parent, int x, int y)
Returns the deepest visible descendent Component of parent that
contains the location x, y.
avec (x,y) comme coordonn�es de la souris.
J'esp�re que cela pourra t'aider. En tout cas tiens nous au courant.
David
-----Message d'origine-----
De : Aurelien Mazurie [mailto:aurelien.mazurie@;free.fr]
Envoy� : jeudi 24 octobre 2002 09:17
� : [EMAIL PROTECTED]
Objet : Une vieille �nigme (pour moi en tout cas)
Bonjour � tous,
Je programme depuis maintenant pr�s de 10 ans mais il y une chose,
utilis�e dans tous les OS ayant une GUI depuis la nuit des temps, que
je ne sais toujours pas faire (enfin, disons que j'ai trouv� un moyen
d�tourn� de le faire): c'est le fait de savoir quel objet affich� �
l'�cran (objets qui peuvent se recouvrir, partiellement ou totalement)
est sous le curseur de la souris (pour que, lorsque l'utilisateur
clique, l'on sache � quel objet envoyer le message).
A l'�poque o� j'avais programm� un jeu utilisant ce genre de fonction
j'avais r�solu le probl�me en cr�ant un �cran virtuel o�, d�s lors
qu'un objet �tait affich� dans l'�cran r�el, il laissait une emprunte
de pixel d'une couleur donn�e (ie. si une bo�te de dialogue �tait �
afficher, je dessinai dans l'�cran virtuel un rectangle au m�me
endroit, avec une couleur unique: par exemple la couleur 1 si c'�tait
l'objet n�1). Ensuite, � chaque clic de souris il me suffisait de lire
la couleur du pixel aux coordonn�es correspondantes dans l'�cran
virtuel, et je connaissait l'ID de l'objet � modifier en cons�quence.
Ca marchait tr�s bien pour un �cran de petite taille (320x200, le bon
vieux mode 13h...) et pour le nombre d'objets � g�rer (256 couleurs,
donc 255 objets + noir), mais d�j� � l'�poque je me demandait comment
faisait les OS comme Windows 3.1 pour faire la m�me chose.
Or j'ai aujourd'hui � faire quelque chose de similaire en Java: j'ai
plusieurs objets � l'�cran (dessin�s dans un BufferedImage), qui
peuvent se recouvrire mais que je veux pouvoir s�lectionner � la souris
sans passer par une d�tection de "l'objet le plus proche par sa
position par rapport � celle du curseur". En r�sum�, il faut que je
r�solve cette tr�s vieille �nigme pour moi et apprenne comment font les
OS de la plan�te pour r�gler ce probl�me...
J'ai trouv� une librairie �crite en Java qui fait ca, et qui sert �
afficher des donn�es g�ographiques (dans les exemples on a ainsi une
carte d'un pays, et la souris allume les diff�rentes r�gions
lorsqu'elle passe dessus); mais les sources sont tellement grosses que
je ne suis pas parvenu � trouver la m�thode utilis�e...
Quelqu'un sait-il comment on r�alise cet exploit quotidien ?
Aur�lien Mazurie