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

avec Java Discussion :

Déclencher un évènement mouseEvent


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Déclencher un évènement mouseEvent
    Bonjour,

    Je souhaiterais que mon JLabel Lb5 déclenche un mouseEvent et affiche un message dans un TextArea, à partir de la classe Mouse que j'ai construite.

    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
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    class labext extends JFrame  implements MouseListener
    {
        private JTextField nb1;
        private JLabel Lb1, Lb2;
        private JTextArea text1;
     
       public labext()
       {
         setTitle("exemple");
         Container cf = this.getContentPane();
     
         ImageIcon duke = new ImageIcon ("duke.png");
     
          JPanel P1 = new JPanel();
          nb1=new JTextField(3);
          text1 = new JTextArea (8,38);
     
          JLabel Lb1 = new JLabel("Hello");
          JLabel Lb2 = new JLabel("World");
          JLabel Lb4 = new JLabel(duke);
     
         P1.add (Lb1);
         P1.add (Lb2);
         P1.add (nb1);
         P1.add (Lb4);
         P1.add (text1);
         cf.add ("North", P1);
     
          JPanel P2 = new JPanel();
     
          JLabel Lb3 = new JLabel("Bye");
          JLabel Lb5 = new JLabel(duke);
     
          P2.add (Lb5);
          P2.add (Lb3);
          cf.add ("South", P2);
     
          souris S1 = new souris();
          Lb5.addMouseListener(S1);
        }
    }
     
    class souris extends JLabel implements MouseListener
    {
         public void mouseEntered(MouseEvent e)
         {
            Lb5.setText("Mouse Entered");
         }
     
         public void mousePressed(MouseEvent e)  {}
     
        public void mouseReleased(MouseEvent e) {}
     
        public void mouseClicked(MouseEvent e) {}
     
        public void mouseExited (MouseEvent e) {}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class gb23
    {
        public static void main (String args[])
        {
          labext f1 = new labext();
          f1.pack();
          f1.setVisible(true);
        }
    }
    J'obtiens cette erreur
    \JCreator LE\MyProjects\gb23\src\gb23.java:8: error: labext is not abstract and does not override abstract method mouseExited(MouseEvent) in MouseListener
    class labext extends JFrame implements MouseListener
    ^
    \JCreator LE\MyProjects\gb23\src\gb23.java:71: error: cannot find symbol
    {Lb5.setText("Mouse Entered");}
    ^
    symbol: variable Lb5
    location: class souris
    2 errors
    Quelqu'un saurait-il m'expliquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    1) si labtext implémente mouselistener, faudrait peut être penser à lui mettre les méthodes de mouselistener. Ou alors tu retire ce implements mouselistener
    2) LB5 est une variable privé du constructeur de labtext, il ne risque pas d'être visible de ou que ce soit. Tu dois en faire un champ et le rendre accessible (par exemple avec un getter)
    3) la classe souris n'a pas à être comme ça dans labtext. Une classe par fichier java, et elle doit avoir strictement le même nom que le fichier. Soit tu la met dans un autre fichier, soit tu en fait un classe internet à la classe labtext
    4) le noms de classe doivent toujours commencer par une majuscule dans les conventions java.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    merci pour ces explications laconiques, mais je n'arrive pas a provoquer un mousevent dans mon container

    je voudrais que le Lb5 appel un mousevent quand je le survole et me donne un message dans mon textearea "je survole mon Lb5 avec ma souris"

    ça doit pas être trop compliqué a faire pour un informaticien de base (chose que je ne suis pas!)

    mon code de JFrame est le suivant

    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
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    class labext extends JFrame
    {
      private JTextField nb1;
      private JTextArea text1;
     
      public labext()
        {
     
      setTitle("exemple");
      Container cf = this.getContentPane();
     
      ImageIcon duke = new ImageIcon ("duke.png");
     
      JPanel P1 = new JPanel();
     
      nb1=new JTextField(3);
      text1 = new JTextArea (8,38);
     
      JLabel Lb1 = new JLabel("Hello");
      JLabel Lb2 = new JLabel("World");
      JLabel Lb4 = new JLabel(duke);
     
         P1.add (Lb1);
         P1.add (Lb2);
        P1.add (nb1);
         P1.add (Lb4);
        P1.add (text1);
         cf.add ("North", P1);
     
     JPanel P2 = new JPanel();
     
     JLabel Lb3 = new JLabel("Bye");
     JLabel Lb5 = new JLabel(duke);
        P2.add (Lb5);
         P2.add (Lb3);
         cf.add ("South", P2);
        }
    }
     
    public class gb23
    {
        public static void main (String args[])
     
        {
        labext f1 = new labext();
        f1.pack();
        f1.setVisible(true);
        }
     
    }
    et je voudrais y intégrer un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lb5.addMouseListener(this);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public void mouseEntered(MouseEvent e)
    {text1.setText("je survole mon Lb5 avec ma souris");}
     
    public void mousePressed(MouseEvent e)  {}
     
    public void mouseReleased(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) {}
    merci d'avance.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Et bien, il suffit de mettre tout ça ensemble

    Option 1
    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
    class Labext extends JFrame  implements MouseListener
     
    {
     
     public void mouseEntered(MouseEvent e)
    {text1.setText("je survole mon Lb5 avec ma souris");}
     
    public void mousePressed(MouseEvent e)  {}
     
    public void mouseReleased(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) {}
     
     
    .....
    public Labext(){
    ....
    Lb5.addMouseListener(this);
    ....
    }
    ....
    }

    Option 2 avec une classe anonyme:
    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
    class Labext extends JFrame 
     
    {
     
     
    .....
    public Labext(){
    ....
    Lb5.addMouseListener(new  MouseListener(){
           public void mouseEntered(MouseEvent e){text1.setText("je survole mon Lb5 avec ma souris");}
           public void mousePressed(MouseEvent e)  {}
           public void mouseReleased(MouseEvent e) {}
           public void mouseClicked(MouseEvent e) {}
           });
    ....
    }
    ....
    }

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut merci
    merci tchize_ pour tes nouveaux renseignements je vais essayé de faire tourner ça

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/10/2006, 16h07
  2. VC# -Déclencher un évènement par le programme
    Par epc dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/10/2006, 13h47
  3. FAQ : Comment déclencher un évènement à l'aide d'un script?
    Par vny dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/02/2006, 16h53
  4. Réponses: 13
    Dernier message: 21/12/2005, 16h18
  5. [JLabel] Déclencher un évènement manuel
    Par barbu0055 dans le forum Composants
    Réponses: 1
    Dernier message: 10/08/2005, 11h08

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