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 :

Nom d'objet dynamique


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 104
    Par défaut Nom d'objet dynamique
    J'ai une ArrayList de Button.
    Je cherche à tous les ajouter via un for sur un panel en tant que JButton.
    Etant donné que je ne sais pas combien j'en ai, pour les déclarer, je comptais mettre leur nom en variable dynamique... mais je ne ne vois pas comment faire ! La concatenation ne marche pas
    Si qqun peut m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (int i = 0;i < ZoneDessin.ListeBouton.size();i++) {
    			JButton pouet + Integer.toString(i) = new Jbutton();	
    		}
    Merci !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut
    Je ne vois pas vraiment pourquoi tu as besoin de renommer la variable JButton à chaque itération.
    Si ton but est juste d'alimenter ton ArrayList avec des JButton, garde le meme nom de variable.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 104
    Par défaut
    Il manque une partie du code, mais je ne l'ajoute pas dans l'ArrayLIste, je les récupere de l'ArrayLIste. Après je vais les afficher. Donc il faut que je les instancie avec chacun un nom différent.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut
    Pourrais tu fournir le code manquant?

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    S'ils sont déja instancié dans l'arrayList je ne vois quel besoin tu as de les réinstancier.

    Pour le placer tu fais directement dans ta boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monPanel.add((JButton)maListe.get(i), contraintes)

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 104
    Par défaut
    Citation Envoyé par sinok
    S'ils sont déja instancié dans l'arrayList je ne vois quel besoin tu as de les réinstancier.

    Pour le placer tu fais directement dans ta boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monPanel.add((JButton)maListe.get(i), contraintes)
    Le problème, c'est quand dans ma liste j'ai des Button, et qu'ensuite je dois ajouter es JButton. Donc je suis obligé de le déclarer, de faire passer les variables (x, y, largeur, hauteur...). Mais si vous avez une meilleure solution, je suis preneur

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Par défaut
    Citation Envoyé par ga.la
    Je ne vois pas vraiment pourquoi tu as besoin de renommer la variable JButton à chaque itération.
    Si ton but est juste d'alimenter ton ArrayList avec des JButton, garde le meme nom de variable.
    Je suis d'accord avec cette remarque, en plus tu n'es même pas obligé d'utiliser une variable pour ajouter un bouton dans un panel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.add(new JButton("Bouton" + i))

  8. #8
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Au pire, si jamais tu veux vraiment avoir pour une raison ou pour une autre pouvoir récupérer tel ou tel boutton à un moment donné, tu peux les mettre dans une map, avec en clef le nom que tu leur donnerais, et en valeur l'instance du bouton.

Discussions similaires

  1. Nom d'objet dynamique
    Par xdeslandes dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/07/2014, 17h34
  2. [POO] nom d'objet en variable dynamique
    Par mayadev dans le forum Langage
    Réponses: 3
    Dernier message: 17/04/2009, 15h26
  3. Réponses: 1
    Dernier message: 27/05/2008, 10h50
  4. VB.NET Création dynamique de nom d'objets
    Par PizzaBer dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/11/2006, 10h41
  5. Movieclip dynamique ou noms d'objet
    Par Iodev dans le forum Flash
    Réponses: 4
    Dernier message: 28/09/2006, 08h37

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