3 - Programmation Évènementielle GUI Programming in Java
3 - Programmation Évènementielle GUI Programming in Java
✓ La contrainte de l'AWT, ou l'avantage (c'est à double tranchants), c'est que Java fait appel au
système d'exploitation pour afficher les composants graphiques.
✓ Pour cette raison, l'affichage de l'interface utilisateur d'un programme peut diverger
sensiblement : effectivement, chaque système d'exploitation dessine à sa manière ses
différents éléments graphiques (bouton, zone de texte, ...).
✓ AWT ne contient que des composants graphiques qui existent sur tous les OS.
✓ AWT est une librairie relativement pauvre, comparativement aux autres qui vont vous être
présentées ci-dessous.
✓ L'approche Swing est différente : une application doit fonctionner et se présenter à l'identique,
ce qu'elle que soit la plate-forme considérée.
✓ Pour ce faire, ce n'est plus l'OS qui va pixeliser les différents éléments graphiques de vos IHM,
mais bien l'API Java Swing.
✓ Donc un point très positif à utiliser Swing réside dans la richesse des composants proposés (en
nombre, largement supérieur à ceux proposés par la librairie AWT).
✓ Un autre point positif réside dans le fait que Swing ne vous propose pas un unique look
graphique : vous en avez plusieurs et ce nombre augmente progressivement (Look Nimbus,
Look Metal, …).
✓ Swing est certainement celui qui est le plus utilisé, car ses propriétés de légèreté, contrôle et
de personnalisation facile.
✓ Avant Swing, AWT(Abstract Windowing Toolkit) est celui qui permet de créer différentes
interfaces graphiques.
✓ Certains composants AWT restent en Java et dans certaines situations en utilisant des
packages AWT.
✓ BorderLayout est utilisé pour organiser les composants dans cinq régions:
nord, sud, est, ouest et centre. Chaque région (zone) peut contenir un seul
composant. Il s’agit de la disposition par défaut du frame ou de la fenêtre.
BorderLayout fournit cinq constantes pour chaque région.
✓ Pour enregistrer un Listener sur un composant, il faut appliquer une des méthodes d’enregistrement:
✓ Classe Button : public void addActionListener ( ActionListener a ) { …. }
✓ Classe TextArea : public void addTextListener ( TextListener a ) { …. }
✓ Classe Checkbox : public void addItemListener ( ItemListener a ) { …. }
✓ Classe MenuItem : public void addActionListener ( ActionListener a ) { …. }
✓ Classe TextField : public void addTextListener ( TextListener a ) { …. }
O. ABDOUN SMI-S6 : M36-ARCHITECTURE DISTRIBUÉE 25
Les composants Swing :
Event & Listener
MOUSELISTENER KEYLISTENER
▪MouseListener est notifie en chaque modification ▪KeyListener est notifie en chaque modification de
l’état de la souris. Il est notifié contre MouseEvent. l’état d’une touche. Il est notifié contre KeyEvent.
▪L’interface MouseListener dupackage java.awt.event
admet cinq méthodes de : ▪Les trois méthodes de l’interface KeyListener du
▪ mouseClicked (MouseEvent e) package java.awt.event:
▪ mouseEntered (MouseEvent e) ➢ keyPressed (KeyEvent e)
▪ mouseExited (MouseEvent e) ➢ keyReleased (KeyEvent e)
▪ mousePressed (MouseEvent e) ➢ keyTyped (KeyEvent e)
▪ mouseReleased (MouseEvent e)