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

Collection et Stream Java Discussion :

Utilisation de collections


Sujet :

Collection et Stream Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut Utilisation de collections
    Bonjour,

    Dans mon projet en java, j'aurai besoin d'être éclairci à propos de quelques points concernant les collections (déclarations utilisations).

    Je développe un projet sous NetBeans avec interface graphique. J'ai donc ma Jframe principale puis différentes classes à coté.

    J'ai par exemple une classe Personne. Je stocke mes données dans des fichiers XML.

    Alors déjà :

    Mes procédure et fonctions permettant de charger, d'enregistrer mes fichiers XML doivent être présents dans le code de ma JFrame principale non ?

    Lors du chargement de mes fichiers XML, j'aimerai remplir une collection de personnes (donc collection d'objets personnes).

    Mais ou dois-je déclarer mon vecteur de personnes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Vector lesPersonnes;
    Dois-je le faire dans la classe Personne ou dans ma Jframe ? Je dois aussi mettre dans le constructeur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.lesPersonnes= new Vector();
    Mais c'est dans le constructeur de la classe Personne ou dans la JFrame ?

    Sinon, comme je disais, quand je charge mes fichiers XML, pour chaque personne je crée un objet personne comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Personne p = new Personne (numero, nom, prenom);
    Ensuite il faudrait que j'ajoute ce nouvel objet dans ma collection de personnes. Oui mais comment ? J'essaie bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     lesPersonnes.addElement(p)
    Ou d'autre truc de ce genre, mais je tombe toujours sur cette erreur :

    non-static variable this cannot be referenced from a static context
    Si je crée des procédure afficher(), ajouter() pour la collection, elles doivent se trouver dans ma classe Personne ou dans la JFrame principale ?


    Il y a pas mal interrogations dans mon sujet en fait. Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    code de la JFrame ? comment et d'ou appelle tu ta JFrame ?

    Le mieux serait d'y mettre dans la JFrame mais besoin des info pour etre sur

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut
    En fait j'ai crée une Jframe puis je passe en mode "code" pour justement ajouter du code(fonctions etc...)

    Puis pour exécuter mon programme je fais un MAJ+F6 sur ma JFrame, mais ce n'est pas correct ça en fait ?

    Car mon fichier main.java est vide. Il faut peut-être appeler la Jframe depuis ce main.java?

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut
    Désolé si mes questions sont floue ou peut-être idiotes, mais je débute en Java donc ça reste encore un peu floue.

  5. #5
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Citation Envoyé par piero53 Voir le message
    Bonjour,

    non-static variable this cannot be referenced from a static context
    Il y a pas mal interrogations dans mon sujet en fait. Merci
    C'est tout simplement que tu as dans ta classe un membre - ici lesPersonnes, j'imagine - mais que tu essayes d'y faire appel via une méthode statique.
    Or, lesPersonnes est une donnée qui est reliée à une instance ; chaque instance de ta classe aura son vecteur lesPersonnes. Cela dit, comme tu es dans un contexte statique (la méthode main, je présume), tu n'as pas d'instance, donc évidemment lesPersonnes n'est pas défini.
    De deux choses l'une :
    - Ou bien tu estimes que lesPersonnes est un vecteur qui est commun à toute ta classe, et donc tu le déclares statique.
    - Ou bien tu commences par instancier un objet de ta classe principale, et dans ce cas tu accèdes à son vecteur lesPersonnes.

Discussions similaires

  1. Libérer la mémoire aprés utilisation de collection
    Par harris_macken dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 27/03/2008, 01h01
  2. Utilisation des collections dans les UserControl
    Par flo67 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/01/2008, 21h34
  3. [CR] Utiliser une collection comme source de données
    Par augereau dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/11/2006, 17h40
  4. [C#] Conseil sur l'utilisation de collection
    Par shinchan dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/03/2006, 12h02
  5. [VB.NET] Utiliser les collections de contrôles (Textbox)
    Par dinbougre dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/01/2005, 19h57

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