Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2736 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  ArrayList et Objet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ArrayList et Objet

n°850844
kungouf
Posté le 15-09-2004 à 16:09:41  profilanswer
 

j'ai une question a propos des ArrayList qui doivent servir ici à stocker des objets instancie de la classe Rectan
 
apparemment pour acceder a une valeur (ici une valeur entiere de l'objet ) ca pose probleme
 
comme je fait pour acceder a une valeur (ps j'ai declarer le type en public) de l'objet stocke dans mon ArrayList?  
 
code:
 

ArrayList ListeSyno = new ArrayList();
 
public MainTest(){
 
super("creation d'elements" );
 
BarrePosition = new JLabel();
getContentPane().add(BarrePosition, BorderLayout.SOUTH);
 
//instanciation des objets
Rectan rec1 = new Rectan("rec1", "titi", 5, 10, 100, 50);
Rectan rec2 = new Rectan("rec2", "toto", 115, 10, 100, 50);
 
//stockage des objets dans la collection
ListeSyno.add(rec1);  
ListeSyno.add(rec2);
 
setSize(500, 500);
show();
}
 
 
public void paint(Graphics g){  
 
 
for(int i=0 ; i < ListeSyno.size() ; i++){
g.drawRect( ListeSyno.get(i).Rectx, ListeSyno.get(i).Recty,
ListeSyno.get(i).RectLongx, ListeSyno.get(i).RectLongy );
 
g.drawString( ListeSyno.get(i).nom, ListeSyno.get(i).Rectx + 50, ListeSyno.get(i).Recty + 40 );
}
 
}  

dans la methode paint je parcours toute la liste pour afficher mes objets mais j'ai un probleme au niveau de la compilation:
 
MainTest.java:44: cannot resolve symbol
symbol : variable Rectx
location: class java.lang.Object
g.drawRect( ListeSyno.get(i).Rectx
 
etc...-> c'est comme ca les n fois ou dans mon code j'appelle l'objet via ListeSyno.get(i).Rectx, ListeSyno.get(i).Recty, etc...


Message édité par kungouf le 15-09-2004 à 16:24:58
mood
Publicité
Posté le 15-09-2004 à 16:09:41  profilanswer
 

n°850845
kungouf
Posté le 15-09-2004 à 16:10:17  profilanswer
 

je viens d'essayer de faire un cast sans succes:
 
 
je fait le cast plus haut et que je stocke le resultat dans une variable (je sais je pourrais faire le cast directement dans ma methode drawRect..):
 
code:

ArrayList listeSyno = new ArrayList();
 
 
public MainTest(){
 
super("creation d'elements" );
 
BarrePosition = new JLabel();
getContentPane().add(BarrePosition, BorderLayout.SOUTH);
 
Rectan rec1 = new Rectan("rec1", "titi", 5, 10, 100, 50);
Rectan rec2 = new Rectan("rec2", "toto", 115, 10, 100, 50);
 
listeSyno.add(rec1);
listeSyno.add(rec2);
 
setSize(500, 500);
show();
}
 
public void paint(Graphics g){  
 
int valeur;
 
valeur = (Rectan) (listeSyno.get(i)).Rectx;
 
for(int i=0 ; i < listeSyno.size() ; i++){
g.drawRect(valeur, 20, 100, 100);
}

erreurs:
 
 
MainTest.java:40: cannot resolve symbol
symbol : variable i
location: class MainTest
valeur = (Rectan) (listeSyno.get(i)).Rectx;
^
MainTest.java:40: cannot resolve symbol
symbol : variable Rectx
location: class java.lang.Object
valeur = (Rectan) (listeSyno.get(i)).Rectx;
^
MainTest.java:40: incompatible types
found : Rectan
required: int
valeur = (Rectan) (listeSyno.get(i)).Rectx;
^
3 errors


Message édité par kungouf le 15-09-2004 à 16:25:30
n°850846
gfive
Posté le 15-09-2004 à 16:12:38  profilanswer
 

1 - mets des balises [cpp] autour de ton code,
2 - lis les docs des classes que tu utilises : ArrayList.get(int i) retourne un Object
Et un Object n'a pas de champ Rectx... Tu dois caster les objets que tu sors de ton arraylist dans le type d'origine.
3 - pas de majuscules aux noms de variable, de champs et de méthodes en java!! :cry:


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°850887
kungouf
Posté le 15-09-2004 à 17:17:21  profilanswer
 

oui je sais j'ai change ca
pardonne moi, je suis autodidacte et donc je suis pas trop a niveau sur les conventions d'ecriture, mais bon j'apprend au fur et a mesure et c'est bien note ;)
 
c'est bon l'erreur venait des parentheses au niveau de mes cast
 
 
((Rectan) listeSyno.get(i)).Rectx;
 
 
voila sinon tout fonctionne correctement pour la collection

n°850894
Taz
bisounours-codeur
Posté le 15-09-2004 à 17:23:38  profilanswer
 

gfive a écrit :

1 - mets des balises [cpp] autour de ton code,

pas d'accord, la balise CPP est pourrie, si tu veux copier du code, tu récupères des # à chaque debut de ligne, c'est dégeux

n°850897
chrisbk
-
Posté le 15-09-2004 à 17:26:14  profilanswer
 

Taz a écrit :

pas d'accord, la balise CPP est pourrie, si tu veux copier du code, tu récupères des # à chaque debut de ligne, c'est dégeux


 
au pire si tu veux faire ca t'edit, mais la, sans cpp, son truc est illisible

n°850901
Taz
bisounours-codeur
Posté le 15-09-2004 à 17:28:58  profilanswer
 

chrisbk a écrit :

au pire si tu veux faire ca t'edit, mais la, sans cpp, son truc est illisible

oui mais bon, ça a pas d'intérêt de ce casser le cul pour ça. alors entre la coloration défaillante et inutile pour certains langages, c'est vite vu

n°850964
sircam
I Like Trains
Posté le 15-09-2004 à 19:09:48  profilanswer
 

Taz a écrit :

oui mais bon, ça a pas d'intérêt de ce casser le cul pour ça. alors entre la coloration défaillante et inutile pour certains langages, c'est vite vu


Ouais et puis, une balise cpp pour du code java, j'ai toujours trouvé ça limite  :sol:  
 
Mais faut au moins un fixed-font pour afficher du code correctement, sinon bonjour les indents foireux.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  ArrayList et Objet

 

Sujets relatifs
Wscript.echo ==> Objet Requis : Wscript ?[C++] Recherche d'objet
Objet activex calendar10un composant activex ne peut pas creer un objet getObject
un composant activex ne peut pas creer un objet getobjectW3C : comment valider un page contenant un objet Flash ?
[PHP] Return d'un objet qui foireQui développe réellement en objet avec Php?
[JAVA] Base de données orientée objet & OZONEcomment acceder a une methode d un objet lui meme dans un ArrayList
Plus de sujets relatifs à : ArrayList et Objet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR