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 :

Nommer des instances d'une classe dynamiquement ?


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Nommer des instances d'une classe dynamiquement ?
    Salut à tous !

    Je voudrais créé et nommé dynamiquement des instances d'un classe. Par exemple quand l'utilisateur appuis sur un bouton, on appel la fonction :

    createInstance(txtfield_name.getText());

    Et donc dans la fonction j'aimerais savoir comment faire pour que cette dernière créé une instance d'une certaine classe (par exemple CClasse) portant le nom du contenu de la variable txtfield_name.getText() (donc le contenu du texte field nommé "txtfield_name")

    Merci d'avance =)

    Demosis.

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 29
    Points : 127
    Points
    127
    Par défaut peut être là dedans : reflection
    Salut,

    lis ça rapidement je crois que ça repondra sans doute à la question :

    http://ricky81.developpez.com/tutori...pi/reflection/

    enfin j'espère.

    amicalement

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Meric beaucoup de ton aide
    Mais étant débutant, je me perd un peu dans tout ce fouilli^^. N'y a t-il pas un syntaxe simple comme en flash (actionscript) pour concaténé non pas le contenu d'une variable mais son nom par exemple en flash...

    i = 0;
    while(i<10){
    this["variable"+i] = "Salut !"
    i++
    }

    ...ce code crée 10 variables nommé variable0, variable1, variable2, variable3..etc et étant egal à "Salut !".
    Cette chose existe t-elle en Java ?
    Sinon par rapport au document qu tu m'a passé, peut tu me donner l'emplacement de ce qui pourait m'être utile stp, car comme je te l'ai dit je suis débutant et là...j'ai un peu de mal à m'y retrouver

    Encore merci

    Demosis.

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 29
    Points : 127
    Points
    127
    Par défaut
    Je crois malheureusement que cela rique d'être un peu plus long que ce que tu dis ci dessus.
    Le problème est que le java est fortement typé en plus d'être un langage compilé (ou semi compilé). Compilé sous entends qu'utiliser des variables (non déclaré) et leurs donner une valeur (ton code fait les deux choses à la "volée") n'est pas vraiment possible aussi facilement qu'en actionscript. L'action script tout comme java script (ou php) sont des langages interpretes ce qui permet assez facilement de transtyper, de déclarer et d'instancier des variables mais il ont evidement leur défauts également (lenteur, fiabilité moindre puiqu'une quantité non néglieable de bug est indétectable sans compilation). Ce que je viens de dire sera sans doute temperer par des gens plus averti .

    La déclaration des variables en java est obligatoire et pouvoir ajouter des valeurs dynamiquement à une liste fait déjà appel à des strutures de donnée évoluée (les lists, collection, map...) mais rien que les tableaux par exemple ne le sont pas en java.

    je te renvois à cet interessant article :
    http://fr.wikipedia.org/wiki/Interpr...nformatique%29

    Pour finir les langages interprete et compile n'ont pas la même vocation, alors explique peut être un peu mieux ton souci et on pourra voir s'il y a quelque chose à faire

    cdlt

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ces informations qui m'aide un peu à y voir plus clair

    Le truc, c'est que mon problème n'aura peut-être plus lieu d'être si vous trouvez un meilleur solution à ce que je veux faire, enfin...

    Je commence un moteur de jeu 2D en tuile. Donc pour commencer, j'aurais voulu réaliser le systeme qui dessine la carte selon des données recu. Donc quand la case d'un tableau (représentant la map) exploré à l'aide d'une fonction contient "1", une case grise serait ajoutée (ici toute les cases sont à "1" pour commencer...) Mais c'est la création de la tuile qui m'embete...Dois-je créé une classe CTuile ? ou juste une fonction dans la classe CGUI (la classe CGUI dessine la fenêtre et l'interface Swing) qui dessinera la tuile ("tuile.png"). La fonction semble plus simple, mais j'ai un problème. Pour mettre des images j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ImageIcon ico_tile = new ImageIcon("data/tiles/grille.png");
    JLabel txtIco_tile = new JLabel("", ico_tile, 0);
    Et le problème c'est qu'avec cette fonction je n'arrive pas à mettre d'image ! L'image ne ce met pas, donc ca ne marche pas. Voila le contenu de la fonction qui doit dessiner la tuile qui foire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ImageIcon ico_tile = new ImageIcon("data/tiles/grille.png");
    JLabel txtIco_tile = new JLabel("", ico_tile, 0);        
    txtIco_tile.setBounds(32, 32, 50, 50);        
    add(txtIco_tile);
    Alors que quand je met ce code dans le constructeur de la classe CGUI ca marche !...Je vais aussi rencontrer un autre problème, je ne sais pas comment copier une image (ici "ico_tile") pour l'utiliser une multitude d'autres fois...

    En faite je pense que ce sont mes ImageIcon qui foirent, je vais devoir passer à une autre solution d'intégartion d'images ?

    Voila, ca dérive complètement mais je m'éforce de chercher une solution à ce problème de variables dynamique...et là encore je vais en avoir besoin pour créé d'autres images quand je vais devoir dupliquer "ico_tile"...

Discussions similaires

  1. [WD17] Poo : Liste des instances d'une classe
    Par R&B dans le forum WinDev
    Réponses: 2
    Dernier message: 29/03/2012, 15h22
  2. Liste des instances d'une classe
    Par alexdevl dans le forum Général Python
    Réponses: 32
    Dernier message: 14/09/2011, 22h52
  3. Réponses: 9
    Dernier message: 18/10/2007, 20h06
  4. Réponses: 8
    Dernier message: 16/02/2007, 15h55
  5. Réponses: 14
    Dernier message: 15/01/2004, 01h15

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