Travaux pratique de Méthodologie et Langage de Programmation, UMONS/Polytech, TP3 1
3.Programmation en Java : les interfaces graphiques
Cette séance de TP permettra de mettre en évidence les principes de création d'interfaces
graphiques en Java à l'aide de java.awt et de javax.swing. Les notions de composants GUI,
d'événements et d'adaptateurs seront présentées.
La plupart de ces notions seront toutefois "masquées" par l'utilisation d'une IDE comme
NetBeans qui facilite la création et la gestion d'éléments graphiques.
3.1.Notions
a)Création d'interfaces graphiques
Les classes servant à la création d'interfaces graphiques sont regroupées dans le package
javax.swing. D'autres classes, comprises dans le package java.awt, permettent la création de
composants graphiques qui, contrairement aux classes de javax.swing, gardent l'apparence et le
comportement conformes à la plate-forme locale sur laquelle l'application est exécutée.
La plupart des composants GUI de Java sont des sous-classes de la classe java.awt.Component
qui fournit dès lors un ensemble de méthodes communes à tous les composants graphiques.
b)Gestion des événements
Ce mécanisme de gestion comporte trois éléments : la source de l'événement (e.g. un bouton),
l'objet de l'événement et l'écouteur d'événement. Pour spécifier qu'un événement vient de se produire, la
source envoie un objet événementiel à l'écouteur qui pourra l'utiliser pour répondre à l'événement.
Pour gérer un événement, le programmeur doit inscrire un écouteur d'événement (souvent à l'aide
de la méthode addActionListener) et définir un gestionnaire d'événement (dont le nom est passé
comme paramètre à addActionListener). Par exemple, un clic sur un bouton sera géré de la manière
suivante :
Jbutton bouton = new Jbutton("Bouton");
ButtonHandler gestionnaire = new ButtonHandler();
bouton.addActionListener(gestionnaire);
Dans cet exemple, la classe ButtonHandler (qui constitue le gestionnaire d'événement) doit
être définie par le programmeur et doit implémenter l'interface ActionListener. La méthode
actionPerformed de cette interface doit dès lors être définie :
class ButtonHandler implements ActionListener
{public void actionPerformed(ActionEvent evenement)
{ ... }
}
Parmi les types d'événements, on retrouve ActionEvent, MouseEvent, KeyEvent,
ItemEvent, etc. À chacun de ces événements est associé un écouteur correspondant et de nom semblable
(e.g. ActionListener <-> ActionEvent). La documentation de la classe java.awt.Event permet
d'avoir plus d'informations sur les différents types d'événements et écouteurs utilisables en Java.
UMONS/Polytech
Pierre Manneback, Sébastien Frémal 2014-2015