634.1–Composants&Patterns
Contrôlecontinupratiquedeprogrammationdu27.05.2013
PeterDAEHNE&JohannSIEVERING1/3Version1.0
Modalités
Toutaccèsauréseauestformellementinterdit.
Durée:135minutes.
Documentation:tousdocumentspersonnels,quelqu’ensoitlesupport.
Ilneseraréponduqu’àdesquestionspubliquesetd’intérêtgénérallorsd’uneséanceofficiellequiauralieuenviron
30minutesaprèsledébutdutravail.
Connexionetpostedetravail
Nomd’utilisateur: NomMachine\heguser(exemple:silamachineestHEG868:HEG868\heguser).
Motdepasse: heguser
LesélémentsfournispourcecontrôlesontdéjàinstallésdanslerépertoireD:\Users\Prog634.1‐CC2
VousytrouverezlesprojetsNetBeans634.1‐CC2‐QuestionQcmet634.1‐CC2‐TestQuestionQcmquevousdevez
compléter.
Vousnecopierezaucunfichierpersonneldanscerépertoire;tousvosdocumentsprivéséventuelsdoiventêtre
stockésailleursdansD:\Users.
VouseffectuerezletravailrequisparcecontrôleexclusivementdanslerépertoireD:\Users\Prog634.1‐CC2.Nous
évalueronsuniquementlecontenudesprojetsNetBeans634.1‐CC2‐QuestionQcmet634.1‐CC2‐TestQuestionQcm
quisetrouventenD:\Users\Prog634.1‐CC2.
Énoncé
1.Concevoiruncomposantgraphiquemy.awt.QuestionQcmreprésentantunequestiond'unQCM.Laquestionest
définieparunnuméroetunlibellé;ilya3réponsespossiblesetuneseulequiestcorrecte.Cecomposantest
construitenassemblantlescomposantssuivantsdansunjava.awt.Panel:
‐ unjava.awt.Labelquidéfinitlenuméroetlelibellédelaquestion;
‐ troisjava.awt.Checkboxes(regroupéesdansunjava.awt.CheckboxGroup)quisontlestroisboutonsradio
définissantlestroisréponsespossibles;
‐ unjava.awt.Buttonpermettantdevaliderlaréponse.
AucomposantestassociélelistenerQuestionQcmListenerquirendcomptedeschangementsd’étatdu
composantendéclenchantl’événementchoixFaitlorsquel’utilisateuravalidélaréponse.Lamémoirede
l’événementestmodéliséeparlaclasseQuestionQcmEvent(voirspécificationsducomposantplusbas).
2.Réaliseruneapplicationdetestquivérifielefonctionnementducomposantdéveloppé.
Spécificationsducomposant
Lenumérodelaquestionetlelibellésontdéfinispardespropriétés.
Lestroisréponsespossiblessontdéfiniespardespropriétés.Aucuneréponse
n’estsélectionnée.
Lenumérodelaréponsecorrecte(1,2ou3)estdéfiniparunepropriété.
Leboutonestactifsietseulementsiunchoixderéponseaété
effectué.
Lorsdel’appuisurlebouton,l’événementchoixFaitestdéclenché
etleboutonainsiquelestroisboutonsradiosontrendusinactifs.