Introduction
Les programmes que l'on a pu rencontrer jusqu'� pr�sent �taient tous en mode console et se contentaient de faire une certaine t�che, tout en faisant intervenir l'utilisateur un minimum. On a vu au chapitre 4 qu'avec Java 5 et la classe Scanner
, il est possible d'interagir avec l'utilisateur.
Une autre mani�re, plus conviviale, d'interagir avec l'utilisateur est d'utiliser une interface graphique. Vous connaissez sans doute les interfaces graphiques que vous utilisez tous les jours, pensez � votre logiciel de traitement de texte, � votre environnement de d�veloppement Java, � votre lecteur multim�dia, ...

Diff�rentes approches
Diff�rentes approches peuvent �tre utilis�es pour programmer une interface graphique en Java. On peut tout d'abord utiliser AWT (Abstract Windowing Toolkit) qui permet de construire ce que l'on appelle des interfaces lourdes, c'est-�-dire que la machine virtuelle Java va se baser sur les services offerts par le syst�me d'exploitation pour afficher l'interface graphique � l'�cran.
Cette premi�re solution a pour grand avantage sa rapidit� �tant donn� que la machine virtuelle Java utilise le syst�me d'exploitation. On a donc tout de suite un inconv�nient qui est la limitation des possibilit�s offertes, en effet, Java �tant portable, en utilisant AWT, vous n'aurez que les possibilit�s qui sont offertes sur tous les syst�mes sur lesquels Java est port�.
La seconde approche permet de construire des interfaces l�g�res, qui n'utilisent pas les services offerts par le syst�me d'exploitation. Les possibilit�s offertes sont beaucoup plus grandes, au prix de performances un peu r�duites. Cette approche utilise l'API Swing fournie avec le JDK standard.
Enfin, sachez �galement qu'une troisi�me approche plus r�cente existe, il s'agit de SWT (Standard Widget Toolkit).
Programmation �v�nementielle
� partir du moment o� l'on parle d'interfaces graphiques, il faut aussi parler de programmation �v�nementielle. Jusqu'� pr�sent, les programmes que nous avons rencontr�s �taient plut�t lin�aires. En effet le flux de contr�le passait d'une instruction � la suivante, tout en subissant quelques perturbations avec certaines instructions particuli�res (chapitre 3) et avec les appels de m�thode.
Dans le cadre d'interface graphique, il va falloir r�agir � des actions de l'utilisateur comme le clic sur un bouton, le redimensionnement de la fen�tre, la s�lection d'un �l�ment dans une liste, ... pour effectuer certaines t�ches. On parle d�s lors de programmation �v�nementielle �tant donn� que le programme consiste en un ensemble de fonctions qui sont ex�cut�es suite � des �v�nements.