Bonjour à tous,
Je me suis mis récement à GWT afin de développer une application contenant de la 3D grace au tout frais WebGL et canvas du html5.
Comme WebGL est très jeune, il n'est pas encore supporté par défaut dans les navigateur majeurs et l'on doit passer par les version dev, à savoir :
- Firefox 4.0b10pre ( nommé minefield )
- Chrome 9, passé en version stable il y a quelques jours.
Bref, pour récuperer les évenements souris sur mon canvas, je fais :
Ce qui marche impec avec chrome et minefield.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 canvas.addMouseWheelHandler(this); canvas.addMouseDownHandler(this); canvas.addMouseUpHandler(this); canvas.addMouseMoveHandler(this); canvas.addMouseOutHandler(this);
Par contre pour les évenements claviers, si j'ai bien compris, étant donné qu'on ne sait pas quand un canvas à le focus, les KeyDownHandler et KeyDownHandler ne peuvent pas s'appliquer dessus.
Du coup je récupère les évenements clavier arrivant sur ma page principale avec :
( this étant une classe implémentant les handlers )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RootPanel.get().addDomHandler(this, KeyDownEvent.getType()); RootPanel.get().addDomHandler(this, KeyUpEvent.getType());
Ceci marche très bien avec chrome, mais pas sous minefield qui semble ne récuperer aucun évenement clavier...
Après pas mal de recherche je n'ai aucune idée du pourquoi ça ne marche pas sous minefield ni de comment récuperer les évenements claviers d'une autre maniere ..
Pouvez vous m'éclairer ?
Cordialement,
Harold
Partager