Bonjour,
Je ne sais pas si cette question a déjà été traitée, mais je ne sais pas comment l'exprimer donc ma recherche sur internet est difficile et n'a pas aboutie pour l'instant.
Voici ce que j'aimerais : à partir d'une image (gif ou png) avec fond transparent, représentant par exemple un disque, je voudrais créer un composant (component) qui puisse être abonné à des évènements (donc pas un graphics...), et qui ne soit "défini" que sur la partie opaque du disque.
En d'autres termes, je voudrais une sorte de JLabel fait à partir d'une image avec fond transparent qui ne réponde aux évènements souris que lorsque celle-ci est sur la partie opaque (le disque en question), et non sur le carré qui définit l'image entière... (Si ça n'est pas assez clair, je détaillerai).
Bien sûr, ça m'a l'air faisable en héritant de JLabel et en faisant du paintComponent dessus qui va intercepter les évènements souris sur la surface rectangulaire et ne traiter que ceux qui sont dans le disque plein... Ma question c'est : est-ce que c'est possible de faire plus court en utilisant quelque chose qui est déjà prévu par l'API ? Et éventuellement : est-ce qu'il y a d'autres moyens de faire qu'un JLabel, plus court, plus simple, plus élégant... ?
Merci !
Partager