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

AWT/Swing Java Discussion :

JBouton et le clavier


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut JBouton et le clavier
    salut
    je ne sais pas comment faire la liaison entre le clavier et les boutons d'une interface
    par exemple j'ai une intrface qui contient un bouton calcule et je cherche si je tape si le clavier sur la touche entrer le bouton calcule déclanche execusion au lieu d'utiliser la souris

    je n'ai aucune idée sur ça vous pouvez me donner un exemple
    merci de m'avoir aider

  2. #2
    Membre éclairé
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    salut
    je cherche si je tape sur le bouton entrée de clavier déclanche une actionlistener
    un exemple pour mieux comprendre

  4. #4
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    bonjour,

    Avec cet exemple, si tu presse la touche 'e' tu incrémente le clic...

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
     
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
     
     
    @SuppressWarnings("serial")
    public class MonApplet extends JApplet 
    {
       @Override
       public void destroy()
       {
          super.destroy();
         System.out.println("MonApplet:Destroy");
       }
     
       @Override
       public void init()
       {
          super.init();
          System.out.println("MonApplet:init");
       }
     
       @Override
       public void start()
       {
          super.start();
          System.out.println("MonApplet:start");
       }
     
       @Override
       public void stop()
       {
          super.stop();
          System.out.println("MonApplet:stop");
       }
     
       private int nbClic = 0;
       private JLabel lbl;
       public MonApplet()
       {
          System.out.println("MonApplet:constructor");
          JPanel pane = new JPanel();
          pane.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
          JButton btn = new JButton("clic ou appuie");
          btn.addActionListener(new ActionListener(){
     
             public void actionPerformed(ActionEvent e)
             {
                doAction();
             }});
          btn.addKeyListener(new KeyListener()
          {
     
             public void keyPressed(KeyEvent e)
             {
             }
     
             public void keyReleased(KeyEvent e)
             {
                if(e.getKeyChar()=='e') doAction();
             }
     
             public void keyTyped(KeyEvent e)
             {
             }
     
          });
     
     
          lbl = new JLabel("Hello World clic count="+nbClic);
          pane.add(lbl);
          pane.add(btn);
          JScrollPane myScroll = new JScrollPane(pane);
          setContentPane(myScroll);
       }
       private void doAction()
       {
          nbClic++;
          lbl.setText("Clic count="+nbClic);
       }
     
    }

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    salut
    j'ai essayé d'implementer le code mais message d'erreru
    voila le code
    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
     
    package aa;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
     
    public classe  ulysse extends JFrame implements ActionListener ,KeyListener{
    public Jpanel pan;
    private JButon sortir = new JButton ("sortir");
     
    public ulysse(){
    this.setResizable(false);
    this.setSize(620,620);
     
    pan.setLayout(null);
    sortir.addActionListener(this);
    sortir.addkeylistener(this);
    sortir.setBounds(300,400,100,300);
    pan.add(sortir);
     
    getContentpane().add(pan);
    }
    mais je n'ai pas mis la suite car le message d'erreru sur la ligne

    public classe ulysse extends JFrame implements ActionListener ,KeyListener{

    voila le message

    aa.ulysse should be declared abstract ;it does not define keypressed(java.awt.event.keyEvent)in aa.sortir


  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    meme j'ai déclaré a la place abstract
    au untre message d'erreru
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void main (String [] args ){
     
    ulysse fenetre = new fenetre();
    fenetre.setVisibles(true);
    message
    aa.ulysse abstract ;cannot be instantiated

  7. #7
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Oula !
    Dis-moi que tu n'as pas fait un copier/coller de ton code ???

    Pour répondre à ton erreur : toute classe implémentant KeyListener doit définir les méthode keyTyped, keyPressed, et keyReleased.

    Et sinon, pour t'aider...

  8. #8
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    A ce que j'ai compris de ton problème, tu cherches à définir un raccourci clavier pour ton boutton, c'est ça?

    Si c'est ça, rien de plus simple puisqu'il te suffit de regarder la doc java
    Je m'explique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JButton b = new JButton("Calcul")
    b.setMnemonic(KeyEvent.'choix')
    Et tu auras un raccourci sur la touche 'choix' (qu'il te faudra choisir dans les constantes de la classe KeyEvent : http://java.sun.com/j2se/1.4.2/docs/.../KeyEvent.html cf Field Summary)

    Voilà, si c'est pas très clair, dis moi je verrais ce que je peux faire pour être plus précis

    [EDIT] : J'ai oublié de préciser que le raccourci est ensuite accessible grâce à la combinaison Alt + la touche du clavier que tu auras choisi ... Voilà

Discussions similaires

  1. [Turbo Pascal] Entrée au clavier sous forme ******
    Par Upal dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 15/02/2003, 14h42
  2. [TP]vider le tampon clavier
    Par kael kael dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 11/01/2003, 22h19
  3. Clavier Azerty
    Par Smortex dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 16/12/2002, 20h33
  4. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11
  5. Vider le buffer du clavier
    Par flavien tetart dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 12/07/2002, 08h35

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