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

avec Java Discussion :

Une méthode crée un objet nommé suivant un paramètre (String)


Sujet :

avec Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut Une méthode crée un objet nommé suivant un paramètre (String)
    Salut !

    J'ignore comment créer un objet dans une fonction, dont le nom sera donné par paramètre.

    Vous comprendrez ce que je cherche à faire avec cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void createTimerpanel(String timerpanelName, String label, int timeTotal, boolean isCustom){
     
        Timerpanel timerpanelName = new Timerpanel(label, timeTotal, isCustom);
     
        jPanelMain.add(timerpanelName);
        timerpanelName.setVisible(false);
    }
    Voilà c'est faux bien sûr, mais intuitivement j'ai essayé ça à tout hasard...
    Conseils appréciés ! Merci !

  2. #2
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Enlève tous les "this".

    Le mot-clé this permet de faire référence à l'instance courante. Si tu associes this à une variable alors tu feras référence à une des variables d'instance de l'objet courant. Or tu veux récupérer un paramètre d'une méthode, donc qui n'appartient pas, à proprement parler, à l'instance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    private String label = "label";
     
    public void maMethode(String label) {
      this.label // Fait référence à "label"
      label // Fait référence au paramètre
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut
    Euh oui pardon bien sûr, j'avais retapé ce code vite fait ^^

    Voilà, mais l'erreur perdure, je ne sais pas utiliser timerpanelName pour en faire le nom de l'objet Timerpanel créé

  4. #4
    Membre expérimenté
    Profil pro
    Opération
    Inscrit en
    Décembre 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opération

    Informations forums :
    Inscription : Décembre 2012
    Messages : 91
    Par défaut
    Si le but est que l'appelant de la fonction 'createTimerpanel' puisse effectuer d'autres appels de fonction avec une référence sur l'objet 'Timerpanel' créé, le plus simple c'est de renvoyer l'objet créé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Timerpanel createTimerpanel(String label, int timeTotal, boolean isCustom){
        Timerpanel timerpanel = new Timerpanel(label, timeTotal, isCustom);
        jPanelMain.add(timerpanel);
        timerpanel.setVisible(false);
    }
    Exemple de code de l'appelant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Sample {
      private Timerpanel timerpanel;  
     Sample() {
       timerpanel = createTimerpanel(....);   
     } 
      void aFunction(){
        timerpanel.setVisible(true);
      }
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut
    AH bien sûr en effet, excellent merci

Discussions similaires

  1. [jMock] Appeler une méthode d'un objet mocké
    Par restricteur dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 22/02/2009, 22h46
  2. Réponses: 5
    Dernier message: 18/09/2008, 17h20
  3. Réponses: 11
    Dernier message: 11/04/2007, 18h33
  4. Réponses: 2
    Dernier message: 26/01/2007, 10h50
  5. Réponses: 6
    Dernier message: 02/10/2006, 12h13

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