[ALG3R]projet uno

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [ALG3R]projet uno

Message  Trusty le Jeu 05 Nov 2009, 18:55

Bonjour tous,

Alors voilà j'ai un petit stress d'affichage.

Je vais tenter d'expliquer le problème clairement ce qui n'est pas simple :p

Lorsque j'ajoute une nouvelle Card à mon HandView et que cette carte ne s'y trouve pas encore, elle se rajoute bien dans mon vecteur (j'ai tester la taille du vecteur) mais elle ne s'affiche pas. En gros elle n'est pas visible dans mon HandView.
Le truc qui est m'intrigue c'est que si j'aoute une 2ième fois cette carte (et donc que nbCard de mon HandCardView passe à 2) elle s'affiche... Suspect

Pour suivre dans le code, lors de l'insertion je test si le vector est vide si oui j'insère direct sinon je boucle pour la trouver, si elle n'est pas trouvée je l'insère dedans...

Si qqun à une idée, voire une piste pour ce broll...

Le code est ici simplifié (j'ai viré les imports, les méthodes qui n'ont pas d'intérêt pour ce problème) => http://pastebin.com/f1f341eaa

jvais mettre une .jar sur un serveur pour montrer aussi très vite :p

Edit : http://trusty.comuf.com/ESI/.BROLL/java.7z voilà le broll Smile


Dernière édition par Trusty le Ven 06 Nov 2009, 12:59, édité 1 fois

Trusty

Nombre de messages : 866
Age : 29
Prénom : Bastien
Statut : old 2010
Localisation : Ath
Date d'inscription : 30/10/2006

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  Wark le Jeu 05 Nov 2009, 19:16

Dans le setncard, tu repaint ou un truc du genre non ?

J'pense que c'est ça parce que si on ajoute une de chaque puis qu'on ajoute une seconde, ça les affiche toutes en même temps. ;-)

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  Trusty le Jeu 05 Nov 2009, 19:22

oui jfais une repaint() bien que pas nécessaire...

je viens de le retirer et même effet...

Sinon t'as bien vu le truc... qd on ajouter une carte non présente elle ne s'affiche qu'a l'action suivante...

Trusty

Nombre de messages : 866
Age : 29
Prénom : Bastien
Statut : old 2010
Localisation : Ath
Date d'inscription : 30/10/2006

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  nvs le Jeu 05 Nov 2009, 19:47

comme tout bon participant à fora.namok, je n'ai lu que le début de la question. mais ça me fait penser à la méthode java.awt.Component.invalidate Smile







_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  Trusty le Ven 06 Nov 2009, 03:54

nvs a écrit:comme tout bon participant à fora.namok, je n'ai lu que le début de la question. mais ça me fait penser à la méthode java.awt.Component.invalidate Smile







...non plus...

Trusty

Nombre de messages : 866
Age : 29
Prénom : Bastien
Statut : old 2010
Localisation : Ath
Date d'inscription : 30/10/2006

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  aro le Ven 06 Nov 2009, 12:10

Trusty a écrit:Si qqun à une idée, voire une piste pour ce broll...
Tu travailles la nuit ?
Quelques pistes (et si cela ne va toujours pas, envoie-moi ton code) :
1. Essaie revalidate()
2. Autant le faire directement plutôt que de chipoter avec quelque chose qu’il faudra changer : pour HandView , tu n’auras pas la barre de défilement si tu ne choisis pas un JScrollPane avec un JPanel dedans à la place d’un JPanel
3. Vérifie le layout du JPanel (même si tu le changes dans le constructeur) cela pourrait changer quand tu l’ajoutes dans un container

Courage ! Smile

aro

Nombre de messages : 557
Prénom : Anne
Statut : Prof
Date d'inscription : 06/09/2008

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  pbt le Ven 06 Nov 2009, 12:13

Il y a pas mal de chose à dire sur ton code ^^

En vrac
- Pourquoi distinguer ActionCard et ColorCard ici et ne pas manipuler des Card ?
- Pourquoi traiter le cas d'une main vide ? L'important est de savoir sir la Card est dans la main ou pas (qu'elle soit vide importe peu). si elle est présente on ajoute 1 au nombre sinon on ajoute la carte.
Code:
HandCardView hcv;
(...)
            // Il y a déjà une carte identique,
            //ajouter 1 au nombre de cartes
            hcv = mapCards.get(card);           
            hcv.setNCards(hcv.getNCards()+1);           
(...)
            // Pas encore de carte de ce type, ajouter une HandCardView
            hcv = new HandCardView();
(...)
            this.container.add(hcv);
        updateUI();
- Il existe des méthodes qui "disent" si un élément est dans une collection sans que l'on doive la parcourir (perso j'utilise un Map<Card,HandCardVie<>)

Pour ce qui est de "ton" problème un updateUI peut peut-être le résoudre (mais je répète que je restructurerais le code).





_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  Trusty le Ven 06 Nov 2009, 12:59

nice !!

merci bien le updateUi() est effectivement un bon plan...
vais regarder pour améliorer le code...

Trusty

Nombre de messages : 866
Age : 29
Prénom : Bastien
Statut : old 2010
Localisation : Ath
Date d'inscription : 30/10/2006

Revenir en haut Aller en bas

resolu Re: [ALG3R]projet uno

Message  Contenu sponsorisé Aujourd'hui à 18:51


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum