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

Langage Java Discussion :

[debutant]Instanciation d'objet


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut [debutant]Instanciation d'objet
    Bonsoir tout le monde ,

    Juste une petite question concernant une instanciation d'objet .
    J'espère être dans le bon forum.

    Voici mon bout de code déjà

    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
     
    Class Plateau extends JFrame implements ActionListener {
    Robot R;
    ....
    public void actionPerformed (ActionEvent ev) { 
     
            if (ev.getSource() == BoutonJouer) {
                System.out.println ("Jouer");
                R.decider(this);
                repaint();
            }
            if (ev.getSource() == BoutonRobotMarcheur){
                System.out.println ("Robot Marcheur");
                int x = 4;
                int y = 4;
                String n = "Toto"+i;
                R = new RobotMarcheur(x,y,n);
                i++;
                System.out.println(R.getIdentifiant());
                bouge(x,y);
                repaint();
            }    
            if (ev.getSource() == BoutonRobotTueur)
                System.out.println ("Robot Tueur");
        }
    }
    Comment fait on pour instancier plusieurs objets RobotMarcheur ?

    J'ai créé ma classe test et pour justement faire les tests j'ai créé à la main mes robots .
    Maintenant a chaque fois que j'appuie sur le bouton RobotMarcheur l'action engendrée est de créé un robot. Avec ce code je créé un premier qui lui est bien géré qd on appuie sur le bouton Jouer ensuite via la méthode decider (Le robot se déplace) . Une fois que je rappuie sur le bouton RobotMarcheur pour créer un 2eme robot , le 1er n'est plus géré (il ne bouge plus). Il n'y a que le 2eme. Quelqu'un pourrait m'aiguiller ? Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Dans ton cas, je ferais un tableau de Robot et ensuite dans ta méthode bouge, tu parcours le tableau de robots et tu les fais tous bouger.

    Si le nombre de robot n'est pas fixé à l'avance, mets les dans une ArrayList

    Parce que là à chaque fois tu réinitialise le robot précédent.

    Fais plutôt quelque chose comme ca :

    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
     
    <div style="text-align: left;">Class Plateau extends JFrame implements ActionListener {
    Robot[] R = new Robot[x];
    ....
    public void actionPerformed (ActionEvent ev) { 
     
            if (ev.getSource() == BoutonJouer) {
                System.out.println ("Jouer");
                R.decider(this);
                repaint();
            }
            if (ev.getSource() == BoutonRobotMarcheur){
                System.out.println ("Robot Marcheur");
                int x = 4;
                int y = 4;
                String n = "Toto"+i;
                R[n] = new RobotMarcheur(x,y,n);
                i++;
                System.out.println(R.getIdentifiant());
                bouge(x,y);
                repaint();
            }    
            if (ev.getSource() == BoutonRobotTueur)
                System.out.println ("Robot Tueur");
        }
    }</div>

  3. #3
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Merci pour ta réponse.

    Effectivement ca marche bien dans une arrayList.

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

Discussions similaires

  1. [Reflection] Instancier un objet
    Par bl@st dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 28/10/2008, 11h09
  2. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 13h44
  3. [debutant] le compareTo (Objet autreObjet)
    Par kortnor dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2005, 13h09
  4. [Debutant] Faire un objet redimensionnable
    Par deboll_s dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 04/07/2005, 21h18
  5. [JSP][Debutant]recuperer un objet d'une page a l'autre
    Par zozolh2 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 17/05/2004, 10h25

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