Exercices Patterns

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Exercice1 :

Le paquetage javax.swing fournit une hiérarchie de


classes utiles pour la création d'interfaces graphiques. Tous les éléments graphiques de
Swing sont des composants. Ils dérivent de la classe javax.swing.JComponent. Certains de
ces composants sont des conteneurs (JWindow, JDialog, JFrame, JPanel, etc.)
Ils peuvent contenir d'autres composants. Les composants atomiques (ou Widgets ) comme
les boutons, les ascenseurs, les menus déroulants, les champs de texte, etc. (Jbutton,
Jlabel, JTextField, JTextArea, JComboBox, etc.)
sont des éléments de base et ne peuvent pas en contenir d’autres.

Question : Proposez une modélisation de la structure hiérarchique des éléments graphiques


de Swing en utilisant le patron approprié.

Exercice 2 :

L'application que nous voulons développer doit pouvoir gérer plusieurs vues simultanément.
Par exemple, on pourra avoir en même temps une vue du code
source complet et une vue WYSIWYG (What you see is what you get) ou tout autre
intermédiaire. Le code source du document est appelé le modèle. Dès que ce dernier est
modifié, on veut que les vues se redessinent de manière adéquate.

Question : Proposez une modélisation UML qui prend en considération cette fonctionnalité
en utilisant le patron approprié.

Exercice 3 :

Avec Swing la gestion des événements (clic souris, appuyer sur un bouton, etc.) se fait sur
le principe du pattern Observateur (ou listener). Certain
objets (source) sont susceptibles de générer des événements. Tout objet désireux d'être averti
lors de la survenance d'un événement d'une source doit implémenter une interface Eve
ntListener
(Ce qui revient généralement à coder une ou plusieurs méthodes explicitant l'action à
réaliser si l'événement survient.) et s'abonner à
cette source. Il devient alors une cible (de la source). Lorsqu'une source déclenche un évén
ement, concrètement elle va simplement parcourir la liste de ses abonnés pour les notifier.

Question :
Dans le cas d'un JButton, l'événement intéressant est le fait qu'on appuie sur le bouton.
Pour enregistrer son intérêt à l'appui sur un bouton, on appelle la méthode addActionListener()
de JButton. Cette méthode attend un argument qui est un objet qui implémente l'interface
ActionListener, qui contient une seule méthode appelée actionPerformed(). Utiliser le patron
approprié.
Exercice 4 :
En Java Swing, on ne positionne jamais les composants graphiques de manière absol
ue (en x et y) à l'écran : tout se fait de manière relative. Chaque conteneur
délègue à un LayoutManager (FlowLayout, BorderLayout, CardLayout, GridLayout, GridBa
gLayout, etc.) le calcul de la "meilleure" position pour chacun des composants.
Le placement des composants dans un conteneur Java Swing est une stratégie : le cont
eneur délègue à un objet tiers la responsabilité de placer les composants en fonction de leur
s tailles préférées, ainsi que des contraintes du conteneur lui-
même. Cet objet délégué peut être remplacé au cours de l'exécution : on change dès lors de
stratégie.
Question:
Proposez une modélisation du placement des composants graphiques de Swing en utilisant le
patron approprié.

Exercice 5 :

Concevez une application en UML permettant de trier les éléments d’un tableau en choisissant
l'algorithme de tri utilisé : tri rapide, tri à bulle ou tri par sélection. Il s'agit ici de laisser ouvert
le choix de la méthode de tri à utiliser.

Question : Modélisez cette situation en utilisant le patron approprié.

Vous aimerez peut-être aussi