cs_ejoey
Messages postés5Date d'inscriptionjeudi 4 décembre 2008StatutMembreDernière intervention30 juillet 2009
-
28 avril 2009 à 23:51
cs_ejoey
Messages postés5Date d'inscriptionjeudi 4 décembre 2008StatutMembreDernière intervention30 juillet 2009
-
29 avril 2009 à 15:37
Bonjour,
J'utilise un JPanel sans LayoutManager pour pouvoir placer des composants en superposant certains d'entre eux tel que celui en dessous puisse être couvert entièrement ou en partie par un autre ou plusieurs composants. Mon problème c'est qu'ils ne s'affichent pas dans l'ordre que je souhaite. J'ai donc décidé de redéfinir paintChildren en définissant un certain ordre d'affichage. Pour mon programme je souhaiterai pouvoir sélectionner les composants que je peux voir. Pour cela, je leur ai attaché un MouseListener sur chacun.
Mon problème c'est que lorsque je déclenche l'évènement, il se fait sur le composant que le JPanel juge être au dessus et ce n'est pas forcément celui que je vois. Donc parfois les évènements sont capturés par les composants que je ne vois pas et je ne trouve aucun moyen dans la documentation qui m'aiderait à règler ce problème.
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 29 avril 2009 à 03:21
Pourquoi tu n'utilise pas setComponentZOrder pour modifier l'ordre d'affichage? Par exemple, le code suivant met p2 à l'avant-plan du panel:
panel.setComponentZOrder(p2, 0);