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

 Java Discussion :

Exception in thread


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Dut informatique
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dut informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Exception in thread
    Bonjour , voici l'erreur :
    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
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at Souris.clic(Souris.java:28)
    	at visio.suivant(visio.java:277)
    	at visio$Drag.mousePressed(visio.java:337)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Window.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$200(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue$4.run(Unknown Source)
    	at java.awt.EventQueue$4.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Je sais d'où vient l'erreur ça vient de cette ligne celle avec le mou. La variable mou est de type MouseEvent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Override
    	public void clic() {
    		// TODO Auto-generated method stub
    		//System.out.println("c'est pas le pb ");
    		while(mou.getClickCount()==1) {}
     
    	}
    Voila j'ai une classe Souris dans laquelle j'ai cette méthode.
    J'appelle cette méthode dans la classe Visionneuse(qui est une visionneuse d'image) et dans cette classe je vais Souris s et donc un s = new Souris(); dans le constructeur de Visionneuse.
    J'appelle la méthode clic de Souris dans la méthode suivant() de la visionneuse. Je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.addMouseListener( new Drag());
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Drag extends MouseAdapter {
     
    		public synchronized void mousePressed(MouseEvent e) {
    			suivant();
     
    		}
     
    	}
     
    }
    Et au final quand je clic j'ai cette erreur qui s'affiche et de j'enlève l'instruction du MouseEvent ben j'ai plus d'erreur donc je demande votre aide pour m'aider svp

    Merci d'avance.

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    NullPointerException = Ta variable n'est pas initialisée au moment où tu arrives à cette ligne. Donc la question à te poser dans ce cas là c'est : initialises tu bien la variable de classe "mou"quand est-ce que tu l'initialises ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Dut informatique
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dut informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    En gros je devrais l'initialiser à l'appel de la fonction en passant un paramètre non ?

  4. #4
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par kantoras Voir le message
    En gros je devrais l'initialiser à l'appel de la fonction en passant un paramètre non ?
    En gros, tu devrais toujours initialiser un objet avant de l'utiliser surtout. Après à quelle moment l'initialiser, je ne peux te le dire car je n'ai pas une vision claire de ta classe Souris.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  5. #5
    Membre à l'essai
    Homme Profil pro
    Dut informatique
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dut informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Code java : 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
    import java.awt.event.MouseEvent;
     
    public class Souris extends Interacteur {
     
        MouseEvent mou;
     
     
        public Souris() {
     
        }
     
        public void doubleClic() {
            // TODO Auto-generated method stub
            if (mou.getClickCount() == 2) {
     
            }
        }
     
        public void clicDroit() {
            // TODO Auto-generated method stub
     
        }
     
        @Override
        public void clic() {
            // TODO Auto-generated method stub
            System.out.println("c'est pas le pb ");
            //while(mou.getClickCount()==1) {}
     
        }
     
        @Override
        public int dragAndDropD(int x, int x0) {
     
            if (x < x0)
                return 1;
            if (x > x0)
                return 2;
     
            return 0;
        }
     
        @Override
        public void dragAndDropG(int x, int x0) {
            // TODO Auto-generated method stub
     
            x0 = mou.getX();
            if (mou.getClickCount() == 1) {
                x = mou.getX();
     
     
            }
     
        }
    }


    Voila la classe Souris.
    Mais je dois passer un Event ou un ActionEvent en paramètre dans la super classe interacteur car je dois différencier si l'action clic vient d'une souris ou autre chose comme le leapMotion mais pour revenir au problème voila le code.
    Merci d'avance

  6. #6
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Comme on le voit dans ton code, ta variable mou n'est jamais initialisée.

    Dans tout les cas, si tu veux manipuler un objet de type MouseEvent, il faut que tu utilises un MouseEventListener. Ainsi, pour le composant graphique sur lequel tu veux ton MouseEvent, tu dois utiliser un MouseEventListener. Tu peux sois mettre ce listener dans une classe à côté, soit faire directement implémenté MouseEventListener par ton composant graphique.

    Première solution :
    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
    public Carre extends JPanel {
     
      private MouseEventListener listener = new ListenerPerso();
     
      public Carre() {
        this.addMouseListener(listener);
      }
     
      // ...
    }
     
    public ListenerPerso implements MouseEventListener {
     
      public void mousePressed(MouseEvent e) {
          System.out.println("La souris vient d'être cliquée");
      }
     
      // Ensemble des méthodes du listener MouseEventListener à implémenter
    }
    Deuxième solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public Carre extends JPanel implements MouseEventListener {
     
      public Carre() {
        this.addMouseListener(this);
      }
     
      public void mousePressed(MouseEvent e) {
          System.out.println("La souris vient d'être cliquée");
      }
     
      // Ensemble des méthodes du listener MouseEventListener à implémenter
    }
    Lien intéressant dans ton cas : http://docs.oracle.com/javase/tutori...elistener.html
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  2. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45
  3. [Classpath]Exception in thread "main" NoClassDefFound
    Par let_me_in dans le forum Général Java
    Réponses: 24
    Dernier message: 24/01/2006, 20h28
  4. Exception in thread "main" java.lang.ArrayIndexOut
    Par Poseidon62 dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 04/11/2005, 01h38
  5. Réponses: 5
    Dernier message: 12/06/2002, 15h12

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