![]() |
||
![]() |
![]() |
![]() |
La partie client a pour but de permettre à l'utilisateur d'exploiter les informations contenues dans la base de données. Cette partie du projet s'éloignant fortement du type d'application qui sera développés au cours du stage, seules des contraintes minimalistes ont été imposées par le cahier des charges : afficher le contenu de la base et pouvoir effectuer quelques requêtes. La volonté d'appréhender la plus grande partie des concepts du langage Java a aboutit sur la réalisation d'une application client plus complète utilisant une partie des composants graphiques fournis par le langage.
L'AWT - Abstract Windows Toolkit - est une série de classes qui permettent de réaliser des interfaces graphiques élaborées, tout en conservant l'aspect portable qu'offre le langage Java. Elles utilisent cependant en partie des outils propres au système pour afficher et gérer les composants qu'elles produisent : ceci implique que l'AWT n'est pas totalement portable. Cela constitue tout de même une révolution puisque dans la plupart des langages, les bibliothèques de programmation d'interfaces graphiques sont spécifiques à un système d'exploitation donnée. L'AWT a été défini dès la version 1.0 de Java et peut donc être également utilisée pour réaliser des applets.
La bibliothèque SWING est une évolution de l'AWT qui se veut être " 100% Java. " Toujours en cours de développement, elle s'appuie sur l'AWT pour réaliser ce qu'elle ne peut faire seule. Même si les composants SWING ne permettent pas encore de s'affranchir totalement du système sur lequel ils tournent, ils sont plus portables que l'AWT. Ceci se traduit malgré tout par une utilisation plus importante des ressources du système : le gain au niveau de la portabilité s'effectue donc au détriment de la vitesse d'exécution.
Pour créer une interface graphique, il faut, dans un premier temps créer une fenêtre. A chaque fenêtre est associé un composant particulier appelé conteneur. C'est dans ce dernier que seront ajoutés les différents composants de la fenêtre (boutons, zones de texte, cases à cocher... mais aussi d'autres conteneurs).
Chaque composant de la fenêtre génère des événements. C'est le cas par exemple quand un utilisateur clique sur un bouton ou valide une zone de texte. Ces événements doivent être interceptés par des classes particulières appelées écouteurs. Ce sont des interfaces qui doivent être implémentées par l'utilisateur. Chaque objet doit ensuite être associé à la classe qui l'écoute.
Tout programmeur d'interface graphique doit donc avoir en tête le schéma suivant :
Elle reprend une grande partie de l'implémentation de la classe gestionBase de la partie serveur tout en adaptant les méthodes et en en créant de nouvelles.
Les données et les méthodes constructeur, " envoiUpdate ", " envoiRequete ", " nbConnections ", " ajouteIncrementActualise " sont les mêmes que pour la partie serveur.
Elle dérive de la classe " JFrame " et implémente l'interface " ActionListener ". Elle possède trois méthodes :
Elle possède de nombreux arguments qui ne seront pas listés ici. Une grande partie d'entre eux est publique afin de permettre aux fenêtres filles d'agir sur la majeure partie des éléments de la fenêtre principale.
Ce sont les classes " MenuPreferences ", " MenuSupprimer " et " MenuRequete ". Elles créent des fenêtres qui permettent de réaliser des actions sur la base données ou sur les paramètres d'affichage de la fenêtre principale. Les fenêtres correspondantes apparaissent lorsque l'utilisateur clique sur préférences, suppression ou requête de l'onglet option du menu de la fenêtre principale.
Ces trois classes dérivent de la classe " JFrame " et implémentent l'interface " ActionListener ", elles possèdent les méthodes suivantes :
Elle prend en charge la barre d'outils qui apparaît en haut de la page principale ou lorsque l'utilisateur sélectionne l'option " barre d'outils " dans le menu " Options ". Cette classe dérive de la classe " JToolBar " et implémente l'interface " ActionListener ". Elle possède quatre méthodes :
Elle ne possède qu'un constructeur sans argument qui crée une instance de la classe " ApplicationClient ".
Le but de cette partie est de présenter l'utilisation pratique de la partie client. Pour exécuter le programme client, il suffit d'appeler la classe Projet à l'aide d'une machine virtuelle Java.
C'est elle qui apparaît en premier lors du lancement du programme. Cette fenêtre est composée de trois parties : une barre de menu, une barre d'outils et un champ texte. C'est dans ce dernier que sont affichés les différents éléments de la base de données.
Il possède deux options :
Il permet de sélectionner les différents éléments de la base de données que l'utilisateur souhaite afficher.
Il permet de choisir le critère suivant lequel les informations affichées seront classées.
C'est grâce à ce menu que vont pouvoir être effectuées les différentes requêtes sur la base de données. Il permet également de redéfinir les caractéristiques de la fenêtre principale.
Il permet d'afficher l'aide du logiciel ou la fenêtre " A propos "
Elle permet de choisir la position et la taille (en nombre de caractères) des différents champs. Il faut retenir que deux champs ne peuvent être à la même position et que leur taille est limitée.
Elles ont toutes deux le même aspect et permettent de générer des expressions conditionnelles qui permettront d'afficher, ou de supprimer, une partie des informations de la base de données.
Remarque : les champs motif de comparaison et requête (ou suppression) de type sont obligatoires.
Elle apparaît lors du lancement de l'application. L'utilisateur peut la faire disparaître ou réapparaître à volonté en cochant l'option
La barre d'outils est composée de 5 éléments qui constituent trois parties :
![]() |
||
![]() |
![]() |
![]() |