2016-12-05 7 views
0

Dans Swing, les événements de souris sont automatiquement ciblés sur le composant le plus profond qui a des écouteurs de souris. Comment les cibler à nouveau vers les composants plus profonds alors qu'il y a un composant qui a des écouteurs de souris et qui est ajouté par-dessus les autres?Comment faire pour cibler les événements de souris vers les composants JComponents plus profonds lorsqu'il est destiné à un composant JComponent doté d'un écouteur de souris

Cela devrait être fait sans paramétrer le composant invisible ou en supprimant ses écouteurs de souris car c'est un JPanel transparent qui devrait fonctionner en fonction des évènements de la souris.

dispatchEvent() est utile uniquement lorsque le composant cible est connu (c'est-à-dire le composant plus profond suivant).

Répondre

1

dispatchEvent() est utile que lorsque l'on connaît le composant cible (i.e.. Composant suivant plus profond).

Vous pouvez utiliser la méthode getParent() pour obtenir le prochain comoponent plus profond.

Vous pouvez également utiliser le SwingUtillities.getAncestorOfClass(...) pour rechercher une classe parente spécifique.