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 :

problème class robot


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut problème class robot
    Bonjour, voici mon 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
    22
    23
    
    import java.awt.*;
    publicclass Robot
    {
    publicstaticvoid main(String args[])
    {
    try
    {
    Robot objMouse = new Robot();
    }
    catch (Exception e)
    {
    System.out.println("Le probleme est le suivant :"+e.getMessage());
    }
    try
    {
    objMouse.mouseMove(0,100);}
    catch(Exception e)
    {
    }
    }
    }
    
    Lorsque je le compile, il me renvoie l'erreur suivante:
    Robot.java:18: cannot find symbol
    symbol : variable objMouse
    location: class Robot
    objMouse.mouseMove(0,100);}
    Quelqu'un peut m'aider?

    Merci

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Il faut toujours utiliser les objets qu'on crée dans un bloc try dans ce mème bloc.
    Voilà ce code devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import java.awt.*;
     
    public class Robot{
      public static void main(String args[]){
        try{
           Robot objMouse = new Robot();
           objMouse.mouseMove(0,100);
        }
        catch (Exception e){
           System.out.println("Le probleme est le suivant :"+e.getMessage());
        }
      }
    }
    P.S: pense à correctement indenter ton code, c'est plus lisible...


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Le problème est que tu déclare ton objMouse à l'intérieur d'un bloc try, sa portée se limite donc à ce bloc. Tu as deux solution, soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import java.awt.*;
    publicclass Robot {
      publicstaticvoid main(String args[]) {
         try {
              Robot objMouse = new Robot();
              objMouse.mouseMove(0,100);
         }
         catch (Exception e) {
              System.out.println("Le probleme est le suivant :"+e.getMessage());
          }
      }
    }
    
    soit si tu tiens à avoir deux bloc try séparés
    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
    import java.awt.*;
    publicclass Robot {
      publicstaticvoid main(String args[]) {
         Robot objMouse = null;
         try {
              objMouse = new Robot();
         }
         catch (Exception e) {
              System.out.println("Le probleme est le suivant :"+e.getMessage());
          }
         try {
             if(objMouse != null) {
                  objMouse.mouseMove(0,100);
              }
         }
         catch(Exception e) {
              System.out.println("Le probleme est le suivant :"+e.getMessage());
          }
      }
    }
    [edit] grillé [/edit]
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Si on veut pouvoir l'utiliser dans une des parties d'un bloc "try|catch|finally", il faut TOUJOURS déclarer une variable locale (interne à la fonction) avant ce bloc : car seules les instances déclarées dans une zone de code exécutée de manière certaine sont valides.

    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
    
    import java.awt.*;
    public class Robot
    {
    public static void main(String args[])
    {
     Robot objMouse = null;
    try
    {
    objMouse = new Robot();
     objMouse.mouseMove(0,100);
     }
    catch (Exception e)
    {
    System.out.println("Le probleme est le suivant :"+e.getMessage());
    }
    } // fin de main
    } // fin de class
    
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    merci beaucoup de vos réponses, en effet je me suis planté dans mes try catch mais en fait ca n'était pas vraiment cela mon problème (j'ai pas mis le bon code ).

    Mais avec le code de g_rare par exemple:
    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
    
    import java.awt.*;
    publicclass Robot
    {
    publicstaticvoid main(String args[])
    {
    Robot objMouse = null;
    try
    {
    objMouse = new Robot();
    objMouse.mouseMove(0,100);
    }
    catch (Exception e)
    {
    System.out.println("Le probleme est le suivant :"+e.getMessage());
    }
    }
    } 
    
    ca me renvoie toujours une erreur:

    Robot.java:11: cannot find symbol
    symbol : method mouseMove(int,int)
    location: class Robot
    objMouse.mouseMove(0,100);

    Pourquoi Java ne trouve pas la méthode mouseMove?

    Merci encore

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Le compilateur ne trouve pas la méthode mouseMove(int, int). Vérifies le type des paramètres et le nom de la méthode (une faute de frappe est si vite arrivée )
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    Voila ce que dit l'API Java:
    mouseMove

    public void mouseMove(int x, int y)Moves mouse pointer to given screen coordinates.
    Parameters: x - X position y - Y position
    Je ne pense pas que je me sois trompé.

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Je n'avais pas compris que tu voulais utiliser la classe Robot de Java.
    Le problème est que tu as créé un classe Robot, du coup le compilateur cherche la méthode mouseMove() dans ta classe.
    Pour corriger le problème tu dois renommer ta classe ou spécifier le package lorsque tu instancie ton objet Robot
    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
    import java.awt.Robot;
    
    publicclass Robot
    {
    publicstaticvoid main(String args[])
    {
    java.awt.Robot objMouse = null;
    try
    {
    objMouse = new java.awt.Robot();
    objMouse.mouseMove(0,100);
    }
    catch (Exception e)
    {
    System.out.println("Le probleme est le suivant :"+e.getMessage());
    }
    }
    }
    Le mieux étant quand même que tu renomme ta classe .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    Un grand merci à tous et surtout à Le Yam's. En effet, c'était bien ça et j'y avait même pas pensé.

    Merci beaucoup

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

Discussions similaires

  1. problème class vector
    Par Pe04 dans le forum SL & STL
    Réponses: 2
    Dernier message: 27/02/2006, 10h45
  2. Problème class
    Par Anduriel dans le forum Langage
    Réponses: 19
    Dernier message: 28/01/2006, 19h34
  3. problème classes templates...
    Par youp_db dans le forum C++
    Réponses: 3
    Dernier message: 02/11/2005, 13h04
  4. problème classe et fonction
    Par zmatz dans le forum C++
    Réponses: 14
    Dernier message: 19/10/2005, 21h46
  5. [Strategie] Emulation clavier, Class Robot
    Par Invité dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 06/07/2005, 12h37

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