Bonjour,
Je suis entrain de concevoir une grille hexagonal pour un jeu. J'ai rajouter un ScrollPane pour permettre de naviguer sur la grille si elle est plus grande que ma Frame.
J'ai voulu utiliser l'événement MouseWheel pour détecter le mouvement de la molette de la souris. Le problème est que je n'arrive pas à trouver une méthode pour détecter la fin de l'événement.
J'utilise aussi un evn MouseMouved comme suit :
Si vous remarquez vient je fait un repaint(). du coup à chaque fois j'utilise le scroll, vu que je fais un repaint tout le temps, le scroll rame à mort. J'ai volu bloquer le mousemoved quand je scroll, avec un boolean par exemple mais il faudrait que je trouve un moyen pour détecter la fin de scroll à fin de remettre mon boolean à false et reprendre l'evenement mousemoved.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public void mouseMoved(MouseEvent arg0) { p=jp2.pol; if(!p.contains(arg0.getPoint()) && HexagonalGridWindow.this.Clicked ==false ){ jp2.repaint(); } }
Voila merci j'espère que vous auriez des idées![]()
Partager