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

Développement Mobile en Java Discussion :

Probléme avec Runnable


Sujet :

Développement Mobile en Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut Probléme avec Runnable
    Je travaille sur un projet de robotique
    J'utilise Netbeans IDE 6.0.1
    Donc voila je souhaite faire un thread pour pouvoir récupérer la position de mon robot

    Donc voici se que je fait :

    Dans ma classe CCommunication:


    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
     
    public class CCommunication implements Runnable{
     
     
     protected  String a;
        MyFenetre f;
     private BufferedImage destinationImage;
      CSysteme sys = new CSysteme(f);
      int lu;
     
    public CCommunication(CSysteme sy)
    {
    this.sys=sy;
     
    }
     
     
     
     
    public void position()
    {
     
            try {
                //connexion();
                // Socket socket = new Socket("localhost", 45001);
                //InputStream in = socket.getInputStream();
                byte[] tab = new byte[20];
                //  int lu = in.read(tab);
     
                 lu = sys.sock.entreeSocket.read(tab);
     
                a = new String(tab, 0, lu);
                System.out.println(a);
                sys.AffichePosition();
     
            } catch (IOException ex) {
                Logger.getLogger(CCommunication.class.getName()).log(Level.SEVERE, null, ex);
            }
     
    }
     
        public void run() {
            while(true)
            {
            position();
            }
     
     
        }
    }

    Dans mon Main:

    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
     
    public class Main {
     
    //  MaSocket sock = new MaSocket("172.16.157.11",45001);
     
      CSysteme sy;
      CCommunication com = new CCommunication(sy);
        /**
         * @param args the command line arguments
         */
        @SuppressWarnings("static-access")
        public Main() throws UnknownHostException{
     
         MyFenetre f = new MyFenetre();
         f.setSize(800,550);
         f.setVisible(true);      
         f.addKeyListener(f);
      //   com.position();
     
       Thread th ;
       th = new Thread(com);
        th.start();
         // sock.receptionFichier(); 
        // f.ReceptionPosition();
     
        }
    Et donc voici l'erreur :

    Exception in thread "Thread-3" java.lang.NullPointerException
    at fenêtre.CCommunication.ReadPosition(CCommunication.java:38)
    at fenêtre.CCommunication.run(CCommunication.java:84)
    at java.lang.Thread.run(Thread.java:619)

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 710
    Par défaut
    Null pointer exception signifie que tu essaies de faire une opération sur une variable à null. il s'agit probablement d'une variable que tu n'as pas initialisée.
    Regarde a la ligne 38 de CCommunication.java, je suppose que ça doit être une ligne ou tu utilise la variable sy.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut
    En effet vous avez raison l'erreur ligne 38 correspond a sy.sock.reception(tab,10);

    Mais je ne vois pas comment corriger ce problème

    je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      CSysteme sy ;
     
     
    public CCommunication( CSysteme sys)
    {
     this.sy=sys;
     
    }
    Avant que j'insére mon Runnable cela fonctionait ....

    J'ai beau chercher rien ne va

  4. #4
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 710
    Par défaut
    D'après le code sy a l'air bien initialisé mais sock ne l'est probablement pas. Il faudrait que tu donnes plus de code car ce que tu as posté est insuffisant .

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/02/2012, 16h34
  2. Problème pour stopper thread avec runnable
    Par fabou3377 dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 13/03/2008, 14h43
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 19h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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