Bonjour à tous,
Je suis en train de developper une interface graphique pour faire defiler une sequence d'image. J'utilise un JSlider pour passer d'une image à l'autre. En parrallele, j'ai defini les touches directionnelles du clavier pour d'autre fonctionnalités.
Mon probleme est que le JSlider entre en conflit avec l'ecouteur du clavier (lorsque je presse les touches directionnelles, la barre de défilement réagit au lieu des fonctionnalités que j'ai definies. (Notez que ce probleme ne se produit que si l'utilisateur à deja clické sur le JSlider, qui change d'apparence comme si il etait séléctionné. Autrement, le clavier répond correctement à ce qui est defini dans mon code).
Pourriez vous me dire de quelle manière annuler l'interaction entre le JSlider et le clavier??
J'ai tenté ça (dans une classe SlideTemp qui extends JSlider et implements ChangeListener)
Malheureusement, ça ne marche pas: l'effet du clavier n'est pas annulé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public SlideTemp(ArrayList data, Fenetre1 fenetre) { super(JSlider.HORIZONTAL, 1, data.size(), 1); this.setMajorTickSpacing(100); this.setMinorTickSpacing(50); this.setPaintLabels(false); this.setPaintTicks(true); //ajoute un listener this.addChangeListener(this); this.unregisterKeyboardAction(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT , 0) ); this.unregisterKeyboardAction(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT , 0)); this.unregisterKeyboardAction(KeyStroke.getKeyStroke(KeyEvent.VK_UP , 0)); this.unregisterKeyboardAction(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN , 0)); }
Avez vous une idée svp ???
Merci beaucoup d'avance.
EDIT : Et je me rend compte que j'ai le meme probleme avec une JComboBox. Lorsque je presse les touches directionnelles Haut et Bas, c'est la comboBox qui change, au lieu des fonctionnalités que j'ai défini dans mon code.... J'imagine que la solution sera la meme pour les deux problemes...
a+
Partager