[ALG2G] Td4: utilité des boutons ?

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

[ALG2G] Td4: utilité des boutons ?

Message  LSV le Sam 31 Oct 2009, 17:10

Salut tout le monde Smile

Je suis en train de bosser sur le TD4 d'atelier logiciel, et je me pose une petite question...

Nous devons donc faire un JPanel de saisie d'une liste d'enfant, ce n'est pas trop dur...
Seulement, je me demande a quoi servent les deux boutons que nous devons y ajouter...

Est ce que le bouton Ajouter Enfant permet de rajouter un JenfantPanel supplémentaire dans le JScrollPane?
ou bien est ce que ce bouton sert a ajouter le dernier enfant saisi dans une Collection<Enfant>, pour la méthode qui est demandée?

Disons que je pencherais plutot pour la premiere solution, le seul probleme etant qu'alors, je ne vois pas l'utilité du bouton "Oter le dernier enfant"... Il permettrait de supprimer le dernier JenfantPanel ajouté? ou du moins de le remettre a 0?

Si oui, comment savoir quel est le dernier JenfantPanel ajouté? Je vois bien l'utilisation d'un switch (si nbenfant =1, supprimer le 1er, etc), le probleme c'est que pour une famille nombreuse ca risque vite d'être embetant Very Happy


Enfin, si quelqu'un pouvait un peu m'éclaircir les idées a ce sujet, ca serait sympathique Smile

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  Anthoblack le Sam 31 Oct 2009, 17:28

LSV a écrit:Si oui, comment savoir quel est le dernier JenfantPanel ajouté? Je vois bien l'utilisation d'un switch (si nbenfant =1, supprimer le 1er, etc), le probleme c'est que pour une famille nombreuse ca risque vite d'être embetant Very Happy
Je ne connais pas le sujet mais j'me demande si tu pourrais pas utiliser un systeme de Pile. Dernier IN, dernier OUT ^^ Il doit y avoir une sorte de liste qui fait ça ...
C'est juste une idée qui me passait par la tête.

Bon amusement Razz

Anthoblack

Nombre de messages : 764
Age : 28
Prénom : Anthony
Statut : Ex-étudiant
Localisation : Bruxelles
Date d'inscription : 11/03/2008

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  pbt le Sam 31 Oct 2009, 17:29

Lorsque tu cliques sur "Ajouter", ça ajoute un JENfantPanel et lorsque tu cliques sur "Ôter" ça ôte le dernier JEnfantPanel (le dernier c'est celui d'en bas ^^).




_________________
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

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Sam 31 Oct 2009, 17:33

Oké. Pour l'ajout, ca ne devrais pas poser de problemes, mais pour la suppression, je ne vois pas Sad

Anthoblack a écrit:
LSV a écrit:Si oui, comment savoir quel est le dernier JenfantPanel ajouté? Je vois bien l'utilisation d'un switch (si nbenfant =1, supprimer le 1er, etc), le probleme c'est que pour une famille nombreuse ca risque vite d'être embetant Very Happy
Je ne connais pas le sujet mais j'me demande si tu pourrais pas utiliser un systeme de Pile. Dernier IN, dernier OUT ^^ Il doit y avoir une sorte de liste qui fait ça ...
C'est juste une idée qui me passait par la tête.

Bon amusement Razz

J'y avais plus ou moins pensé mais je vois pas du tout comment je pourrais utiliser ca, avec le reste de mon code, en fait :/
A mon avis la solution est largement plus simple...

Du genre, pouvoir "ScrollPane.deleteLastAdded()" ou quelque chose du genre :/

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  Legenyes le Sam 31 Oct 2009, 18:08

Anthoblack a écrit:
LSV a écrit:Si oui, comment savoir quel est le dernier JenfantPanel ajouté? Je vois bien l'utilisation d'un switch (si nbenfant =1, supprimer le 1er, etc), le probleme c'est que pour une famille nombreuse ca risque vite d'être embetant Very Happy
Je ne connais pas le sujet mais j'me demande si tu pourrais pas utiliser un systeme de Pile. Dernier IN, dernier OUT ^^ Il doit y avoir une sorte de liste qui fait ça ...
C'est juste une idée qui me passait par la tête.

Bon amusement Razz

non ?

Legenyes

Nombre de messages : 626
Age : 31
Prénom : Sébastien
Statut : Ancien : Promo 2008-2009
Localisation : Braine-l'Alleud
Date d'inscription : 16/10/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Sam 31 Oct 2009, 18:15

Oui, mais comment intégrer Stack dans un ScrollPane?

C'est surtout ca le probleme, faire une pile en soit, ca serait pas un gros probleme, par contre, l'utiliser pour afficher... Je vois bien des solutions, mais ca me parait tellement original que... Je pense qu'il y a plus simple

Stack<JenfantPanel> maPile = new Stack<JenfantPanel>();

(dans le bouton ajouter)

maPile.push(new JenfantPanel());
affichage();

(dans le bouton enlever)

maPile.pop();
affichage();


et dans la méthode affichage, je poperais tous les JenfantPanel de ma pile?

Ca me parait assez spécial comme solution

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  mcd le Sam 31 Oct 2009, 18:37

Je n'ai qu'une vague idée de ce que vous devez faire mais... j'ai du mal à comprendre ce qui te pose un problème.
Si tu sais ajouter un Enfant, tu as compris qu'on ajoute dans un "Container".
Or un container a bien d'autres méthodes que la méthode add(). Les as-tu regardée ?

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Sam 31 Oct 2009, 18:46

Je sais pas vraiment ce qui me pose probleme...
Mais je bloque completement quand meme Very Happy.

En fait, je me dis que le code que j'associerai au clic sur le bouton ne pourra pas donner un nom précis a chacun des JenfantPanel, du coup, par la suite, pour récupérer les informations contenues par ceux-ci, ca pourrait poser problemes...
A moins bien sur, de passer par un stack ou quoi, mais j'ai l'impression que je serai limité a cause de cela, et surtout, que ce n'est pas de cette manière que le prof l'attend...

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  Abdel le Sam 31 Oct 2009, 23:22

Je pense que comme beaucoup tu as juste mit un JScrollPane sans rajouter de JPanel dedans...

celui ci te donne les methode add et remove ..

Va jeter un oeil à l'API et tout deviens facile Smile

ps: pas besoin de stack pense a utiliser ta méthode isInfoComplete =)

Je pense que tu as tout pour pouvoir terminer le td rapidement !

Courage

Abdel

Nombre de messages : 13
Age : 27
Prénom : Abdel
Statut : Ancien( Diplômé en 2011 )
Localisation : Namur
Date d'inscription : 04/12/2008

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Dim 01 Nov 2009, 02:41

Si, justement



mais effectivement, le nom que j'ai moi même donné a ce Jpanel m'a induit en erreur Smile.

Donc en gros, lorsque l'on clique sur oter, je ferais bien d'utiliser

panelScroll.remove(nbEnfant-1) ?

(méthode de la classe container:

void remove(int index)
Removes the component, specified by index, from this container.
)


Par contre, pourquoi utiliser isInfoComplete()?
Uniquement pour être sur de ne pas rajouter x-eme enfant si le (x-1)eme n'est pas complet?
Je pensais plutot faire cela dans la méthode qui renvoie une collection d'enfant, etant donné que pour moi, il est plus simple, si par exemple on a 4 enfants, de cliquer 3 fois sur le bouton "ajouter un enfant" et de remplir les données en une fois, plutot que remplir, cliquer, remplir, cliquer, remplir, cliquer, remplir Very Happy. Si c'est dans un autre but que tu souhaite utiliser cette méthode... quel est il? Very Happy

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  aro le Dim 01 Nov 2009, 09:27

LSV a écrit:Par contre, pourquoi utiliser isInfoComplete()?
Uniquement pour être sur de ne pas rajouter x-eme enfant si le (x-1)eme n'est pas complet?
Je pensais plutot faire cela dans la méthode qui renvoie une collection d'enfant, etant donné que pour moi, il est plus simple, si par exemple on a 4 enfants, de cliquer 3 fois sur le bouton "ajouter un enfant" et de remplir les données en une fois, plutot que remplir, cliquer, remplir, cliquer, remplir, cliquer, remplir Very Happy.
Eh non, pas d’ajout collectif d’enfants. Et ce n'est pas dans la méthode qui renvoie la collection d'enfants que la collection est créée !

Pour résumer :
1. Quand il n’y a pas encore d’enfants, un seul JEnfantPanel vide pour pouvoir introduire les infos d'un premier enfant.
2. Quand click sur "Ajouter" :
- Ajouter l’enfant dans la collection d’enfants si les infos introduites dans le dernier JEnfantPanel sont complètes.
- Si ok, ajouter un JEnfantPanel vide supplémentaire pour pouvoir introduire les infos d’un enfant supplémentaire éventuel.
3. Quand click sur "Òter" :
- Òter l’enfant de la collection d’enfants.
- Retirer le dernier JEnfantPanel et vider l’avant dernier.

aro

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

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Dim 01 Nov 2009, 11:38

aro a écrit:Eh non, pas d’ajout collectif d’enfants. Et ce n'est pas dans la méthode qui renvoie la collection d'enfants que la collection est créée !

Pour résumer :
1. Quand il n’y a pas encore d’enfants, un seul JEnfantPanel vide pour pouvoir introduire les infos d'un premier enfant.
2. Quand click sur "Ajouter" :
- Ajouter l’enfant dans la collection d’enfants si les infos introduites dans le dernier JEnfantPanel sont complètes.
- Si ok, ajouter un JEnfantPanel vide supplémentaire pour pouvoir introduire les infos d’un enfant supplémentaire éventuel.
3. Quand click sur "Òter" :
- Òter l’enfant de la collection d’enfants.
- Retirer le dernier JEnfantPanel et vider l’avant dernier.

c'est déja un peu plus clair dans mon esprit Smile

Est ce qu'un fois qu'un enfant a été ajouté a la liste, nous devons rendre le JEnfantPanel associé non-éditable?

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  pbt le Dim 01 Nov 2009, 13:23

LSV a écrit:Est ce qu'un fois qu'un enfant a été ajouté a la liste, nous devons rendre le JEnfantPanel associé non-éditable?
Pour moi, dans le cadre de cet exercice, c'est un choix ... que tu peux faire. Ça relève du détail et de l'utilisabilité du composant. Et cette utilisabilité est toujours discutable. À l'inverse de aro, j'aurais également ajouter les 4 JenfantPanel et je les aurais complèter ensuite.

Tu fais donc bien de demander au client ce qu'il désire ...

_________________
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

Re: [ALG2G] Td4: utilité des boutons ?

Message  aro le Dim 01 Nov 2009, 13:35

LSV a écrit:Est ce qu'un fois qu'un enfant a été ajouté a la liste, nous devons rendre le JEnfantPanel associé non-éditable?
Ce serait bien puisque l'on n'a pas demandé de pouvoir modifier les infos d'un enfant. Maintenant, si tu veux améliorer et permettre la modification...

pbt a écrit:Tu fais donc bien de demander au client ce qu'il désire ...
Yep, et le client est catégorique : pas d'ajout collectif Very Happy

aro

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

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Jeu 05 Nov 2009, 18:01

Bon, ayant un peu continué, je me trouve confronté a un petit probleme: lorsque je clique sur le bouton "ajouter", cela n'ajoute pas de nouveau JenfantPanel :/

voici mon code:

private void ajoutEnfant(java.awt.event.ActionEvent evt) {
Enfant enfantAajouter = ((JenfantPanel)panelScroll.getComponent(nbEnfants)).getEnfant();
if(enfantAajouter.isInfoComplete()){
this.listeEnfant.add(enfantAajouter);
panelScroll.add(new JenfantPanel());
nbEnfants++;
}
else{
erreur.setText("Les données que vous avez entrées sont incomplètes");
}
}

Si quelqu'un a une idée...?

edit: je précise, ma méthode isInfoComplete() fonctionne correctement
re-edit: d'après les test que j'effectue, je pense que le JenfantPanel se rajoute bien, mais qu'il ne s'affiche pas, et que j'y ai donc pas accès :/

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Jeu 05 Nov 2009, 19:57

Bon, finalement j'ai réussi, il a fallu que je rajoute un layout en fait...


Sinon, derniere question, dans la boite de dialogue de saisie, en fait c'est lorsque l'on appuye sur le bouton "ok" que l'on retourne le membrePersonnel saisi?

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  pbt le Ven 06 Nov 2009, 11:33

LSV a écrit:Sinon, derniere question, dans la boite de dialogue de saisie, en fait c'est lorsque l'on appuye sur le bouton "ok" que l'on retourne le membrePersonnel saisi?
Un JDialog ne "retourne" rien, il propose une méthode (publique donc) permettant d'accéder à l'info qu'il propose. On l'utilise un peut comme ça
Code:
JDialogFoo d = new JDialogFoo(this,true);
d.setVisible(true);
Info i = d.getInfo();

Comme la fenêtre est modale, "this" reprendra la main lorsque tu fais un dispose de ton JDialog (via ton bouton ok) ... et "this" ira, à ce moment, chercher l'info dont il a besoin.




_________________
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

Re: [ALG2G] Td4: utilité des boutons ?

Message  LSV le Sam 07 Nov 2009, 16:08

Je vous avoue ne pas vraiment comprendre ca oO

Je creerais donc une nouvelle Jdialog dans laquelle j'appelerais celui de saisie?

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG2G] Td4: utilité des boutons ?

Message  pbt le Sam 07 Nov 2009, 16:49

LSV a écrit:Je creerais donc une nouvelle Jdialog dans laquelle j'appelerais celui de saisie?
Si tu lis bien la fin de l'énoncé, tu peux trouver des infos, je cite


Ce dialogue offrira la méthode getMembrePersonnel() qui retournera le MembrePersonnel saisi ou null si l'utilisateur a quitté le dialogue par pression de 'Annuler'.
Mise en oeuvre
Testez le JDialog en émettant sur la console le MembrePersonnel saisi ou 'Aucune saisie effectuée'.

Il faut donc que "quelqu'un" (un JButton dans un JFrame, un appel direct dans une méthode main quelconque, ou ....) appelle ce JDialog. Au retour (c-à-d après une pression sur le bouton OK ou Cancel du JDialog) il sera possible de faire appel à la méthode getMembrePersonnel() ... ce membre du personnel que tu afficheras sur la sortie standard par exemple.

_________________
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

Re: [ALG2G] Td4: utilité des boutons ?

Message  Contenu sponsorisé Aujourd'hui à 10:57


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