Vous êtes sur la page 1sur 17

Les Interfaces Graphiques

En JAVA
Presenté par: Encadré par:
BEN MOUSSA Loubna Dr. ES-SAADY 
SAIF Sara
1 Introduction

2 Les interfaces graphiques

3 Java API pour la programmation graphique

Plan 4 Java et et le modèle MVC

5 Layout Manager et Listeners

6 Mini Application

2
Add an image

INTRODUCTION
Les interfaces graphiques

L’interface graphique peut être vue de troi


s façons :
 l’aspect utilisateur consistant à l’utiliser,
 l’aspect programmeur consistant à prog
rammer cette interface pour les program
mes utilisateur, en utilisant une biblioth
èque de fonctions ;
 l’aspect concepteur consistant à créer c
ette bibliothèque de fonctions.

L’interface homme machine (l’acronyme IHM) s’intéresse à la façon d’entrer les données et de s
ortir les résultats.

4
Hiérarchie de package

5
Java API pour la programmation graphique
3 columns

AWT (Abstract Window Toolkit)


L'API AWT a été introduite dans JDK 1.0. La plupart des composants AWT sont devenus obsolètes et devraien
t être remplacés par de nouveaux composants Swing.

SWING
L'API Swing, un ensemble beaucoup plus complet de bibliothèques graphiques améliorant l'AWT, a été introdu
ite dans le cadre de Java Foundation Classes (JFC) après la sortie de JDK 1.1. 

javaFX
Le dernier JavaFX, intégré à JDK 8, est destiné à remplacer Swing.

6
AWT (Abstract Window Toolkit)
One Column

AWT est énorme, Il se compose de 12 paquets de 370 classes (Swing est encore plus grand, avec 18 paquets de
737 classes à partir de JDK 8). 

Le java.awt paquet contient les classes graphiques AWT principales :


• Les classes GUI composants, tels que Button, TextField et Label.
• Classes de conteneur d'interface graphique, telles que Frame et Panel.
• Les gestionnaires de mise en page, tels que FlowLayout, BorderLayout et GridLayout.
• Classes graphiques personnalisées, telles que Graphics, Color et Font.

Le java.awt.event paquet prend en charge la gestion des événements:


• Cours d'événements, tels que ActionEvent, MouseEvent, KeyEvent et WindowEvent,
• Event Listener Interfaces, tels que ActionListener, MouseListener, MouseMotionListener, KeyListe
ner et WindowListener,
• Cours adaptateur d' événements Listener, tels que MouseAdapter, KeyAdapter et WindowAdapte
r.

7
SWING

8
SWING
One Column

Tout comme l'application AWT, une application Swing nécessite un conteneur de niveau
supérieur. Il existe trois conteneurs de niveau supérieur dans Swing:

 JFrame: utilisé pour la fenêtre principale de l'application (avec une icône, un titre, des
boutons Réduire / Agrandir / Fermer, une barre de menus optionnelle et un panneau de
contenu),
 JDialog: utilisé pour la fenêtre contextuelle secondaire (avec un titre, un bouton de
fermeture et un volet de contenu).
 JApplet: utilisé pour la zone d'affichage de l'applet (volet contenu) à l'intérieur de la
fenêtre du navigateur.
De manière similaire à AWT, il existe des conteneurs secondaires (tels que JPanel) qui
peuvent être utilisés pour regrouper et mettre en forme les composants pertinents.

9
Outils de construction d'interfaces graphiques:
3 images and 2 coluns

Add an image
Méthode native
Add an image
code pur, tout à la main

Méthode avec des outils graphi


Add an image
ques
plugins
Vue Modèle Contrôleur

qui correspond à son appar contenant ses données et s associant des traitements à
ence graphique on état courant des événements pouvant s
e produire au sein du com
posant. 11
Exemple
la décomposition MVC du bouton ci-dessous (instance de la classe JButton) est constituée

Search Button

Du modèle contenant la chaîne de caractères “Recherche” ;


De la vue constituée d’un rectangle gris à bord arrondi, d’une taille donnée, à une position donné
e et au sein duquel est écrite la chaîne de caractères du modèle ;
Du contrôleur implémentant le traitement à effectuer lors d’un click sur le bouton, c’est-à-dire l’a
12
ppel à l’instruction de recherche.
Composition d’une interface graphiqu
e
1 la fenêtre ;

Le RootPane (en vert), le conteneur principal qui


2
contient les autres composants ;
Le LayeredPane (en violet), qui forme juste un pann
3 eau composé du conteneur global et de la barre de m
enu (MenuBar) ;
4 La MenuBar (en orange), la barre de menu, quand i
l y en a une ;
le ContentPane (en rose) : c'est dans celui-ci que nous
5
placerons nos composants ;
Le GlassPane (en transparence), couche utilisée pour
6 intercepter les actions de l'utilisateur avant
qu'elles ne parviennent aux composants. 13
Les Contrôleurs d’évènements (listener
s)
Long text only

 Les « listeners » sont des interfaces.


 Ces interfaces fournissent une ou plusieurs méthod
es qui peuvent donc être implémentées différemm
ent selon les cas et les besoins, pour répondre aux
événements.
14
Gestionnaires de placement

Layout manager

Les gestionnaires de placement (layout manager) permettent de


disposer des composants dans un panneau en fonction des carac
téristiques qui leurs sont propres, notamment leur preferredSize.
Remarque: Un seul LayoutManager est autorisé par container.

15
Pas de gestionnaire
Long text only

Le conteneur n'a pas de gestionnaire de placement : setL


ayout(null). Les composants ont un emplacement et une
taille fixe.

16