IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Annuler l'interaction entre le clavier et un JSlider


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 80
    Par défaut Annuler l'interaction entre le clavier et un JSlider
    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)

    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));
     
     
        }
    Malheureusement, ça ne marche pas: l'effet du clavier n'est pas annulé.
    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+

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Une solution radicale, à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class SlideTemp extends JSlider {
       ...
       protected void processKeyEvent(KeyEvent e) {
       }
    }

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Sinon aller voir s'il ne traîne pas quelquechose dans l'input map du composant

Discussions similaires

  1. [VB .Net][Forms] Interaction entre deux forms
    Par plasticgoat dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/08/2005, 13h14
  2. bouton Ok = Touche Entrée du clavier
    Par Samanta dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 23/08/2005, 17h10
  3. [Collaboration/Interaction] Peut-on schématiser une interaction entre un bouton de commande et un autre objet ?
    Par manel007 dans le forum Autres Diagrammes
    Réponses: 5
    Dernier message: 21/09/2004, 01h01
  4. Comment récuperer des données entrées au clavier?
    Par Elisée A. dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 07h22
  5. [Turbo Pascal] Entrée au clavier sous forme ******
    Par Upal dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 15/02/2003, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo