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

AWT/Swing Java Discussion :

donner une valeur à un élément


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut donner une valeur à un élément
    bonjour,

    j'ai ma ligne de code :

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Element libelle = new Element ("libellé" + i);

    Elle permet de créer un nouvel élément dans mon fichier XML;

    Es-ce que quelqu'un sait comment je pourrais faire pour donner une valeur automatique à "libelle" comme par exemple libelle1 pour éviter que quand il écrit dans mon fichier XML, il écrase les données déjà présente?

  2. #2
    Membre averti
    Avatar de Mik ArBer
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 334
    Points
    334
    Par défaut
    Tu n'as qu'à dérivé ta classe Element et meetre l'automatisation dans le constructeur par défaut:

    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class AutoElement extends Element {
       protected int index = 0;
     
       public AutoElement(){
           super( "Element" + index++);}
    A+

    Mik

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    oui mais comment je fais pour déclarer l'elément si c'est une nouvelle fonction?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    nouvelle classe pardon

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Attention, il faut que index soit static sinon, tous les nouveaux AutoElement auront la valeur "Element0"

  6. #6
    Membre averti
    Avatar de Mik ArBer
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 334
    Points
    334
    Par défaut
    Exact Fifan.

    Mea culpa

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    le code ma l'air d'être ce qu'il me faut, mais le problème c'est :

    comment j'appele la classe pour nommer mon element???

  8. #8
    Membre averti
    Avatar de Mik ArBer
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 334
    Points
    334
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Element libelle = new AutoElement();

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    j'ai réussi a adapter le code, merci beaucoup, par contre, sur le champ index, j'ai ce message d'erreur qui s'affiche :

    Impossible de faire référence à un champ d'instance index tout en appelant explicitement un constructeur



  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class AutoElement extends Element {
       protected int index = 0;
     
       public AutoElement(){
           super( "Element" + index++);}
    L'erreur est sur la partie souligné ...

    Merci

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    bon, en ce qui concerne le index, c'est bon merci, par contre, il ne m'enregistre toujours qu'une seul valeur dans mon fichier, je vais vraiment finir par me remettre au bon vieu delphi!!!

  12. #12
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    As-tu essayé avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class AutoElement extends Element {
       protected static int index = 0;
     
       public AutoElement(){
           super( "Element" + index++);}

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    Oui j'ai utililisé ce code avec celui ci pour le mettre en oeuvre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Element libelle = new AutoElement();
    Et dans mon fichier, je n'ai toujours qu'une ligne qui s'enregistre et, c'est la dernière !!!!!!!!

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Le code que l'on t'a donné te permet d'avoir un Element avec un index qui s'incrémente a chaque instanciation.
    Pour ce qui est de l'insertion de ces Elements dans ton fichier puis sa sauvegarde c'est un autre pb. Il faudrait alors que tu nous montres comment tu fais ....

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    alors, voici le code de l'enregistrement :

    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
    27
    28
    29
    30
    31
    32
        public void enregistre(final String fichier)
     
        {
     
        	int i;
        	int nbr;
        	String value;
        	 final Element racine = new Element(treePanel.treeModel.getRoot().toString());
        	 // On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer //
             final org.jdom.Document document = new Document(racine);
     
             nbr = treePanel.rootNode.getChildCount();
             for (i=0; i<= nbr; i++);
     
             {
     
            	 AutoElement  libelle = new AutoElement();
            	 libelle.setText(treePanel.rootNode.getNextNode().toString());
            	 value = libelle.getText();
                 racine.addContent(libelle);
     
     
     
           try
           {
              // Affichage classique avec getPrettyFormat() //
              final XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
           //Création du fichier
              sortie.output(document, new FileOutputStream(fichier));
           }
     
           catch (final java.io.IOException e){}}}

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    ca ne dit rien a personne?

  17. #17
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Je ne sais pas ce que fait exactement te methode addContent mais à vue de nez, je dirai qu'il faudrait une methode addChild...
    La methode "treePanel.rootNode.getNextNode()" te renvoie-t-elle un nuoveau noeud a chaque fois ? N'y a-t-il pas un truc du genre "treePanel.rootNode.getNode(i)" ?

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    j'ai essayer les différentes fonctions de java dans le code et je n'est pa trouver de AddChild...

    Pour la création du noeud, j'ai la création de la racine a l'origine et à chaque fois, il ne me crée que un seul fils en prenant la valeur du dernier donc je suppose qu'il boucle et écrase à chaque fois la valeur du libellé précédent...

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    je vien de regarder, pas de GetNode(i) non plus...

  20. #20
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Dans org.w3c.dom.Node, tu as appendChild ...

Discussions similaires

  1. donner une valeur à un élément
    Par mateuil dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 28/06/2007, 13h01
  2. [Etat]donner une valeur à un champs par le code
    Par guigui5931 dans le forum IHM
    Réponses: 6
    Dernier message: 04/07/2006, 12h11
  3. Vector - assigner une valeur à un élément
    Par bouazza92 dans le forum SL & STL
    Réponses: 3
    Dernier message: 23/04/2006, 13h38
  4. donner une valeur par defaut à un champ file
    Par Davboc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/02/2006, 11h26
  5. Réponses: 2
    Dernier message: 07/07/2005, 18h11

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