Chapitre 2 - Programmation Graphique
Chapitre 2 - Programmation Graphique
Chapitre 2 - Programmation Graphique
Interface utilisateur
2 Hazar MLIKI
Pourquoi une interface Utilisateur?
Interface utilisateur basée sur des caractères : C’est une interface où l'entrée de
l'utilisateur et la sortie du programme sont sous forme de texte.
Une interface graphique : Elle permet aux utilisateurs d'interagir avec un programme
à l'aide d'éléments graphiques appelés contrôles ou widgets en utilisant un clavier
ou une souris.
4 Hazar MLIKI
Bibliothèques JAVA : AWT & SWING
• Utiliser un concepteur GUI visuel : Drag & drop (SwisiDad, WindowBuilder Pro, etc).
• javax.swing
• java.awt
5 Hazar MLIKI
Bibliothèques JAVA : AWT & SWING
Swing
• Package apparu dans la version de java 1.2 (Java 2)
• Les composants graphiques de Swing sont implémentés directement dans Java
Indépendance de la plateforme utilisée, un bouton Swing a toujours la même
apparence.
• Les composants Swing sont dessinés dans un conteneur et ils sont dit LightWeight.
• Il existe également d'autres différences, comme le nombre de composants utilisables, la
gestion des bordures...
6 Hazar MLIKI
Bibliothèques JAVA : AWT & SWING
7 Hazar MLIKI
Hiérarchie des conteneurs dans SWING
8 Hazar MLIKI
Hiérarchie des conteneurs dans SWING
Dans une application Swing, chaque composant doit être contenu dans un
conteneur.
Le conteneur est considéré comme le parent du composant et le composant est
considéré comme l’enfant du conteneur.
Pour afficher un composant à l'écran, un conteneur de niveau supérieur doit se
trouver à la racine de la hiérarchie des conteneurs.
Chaque application Swing doit avoir au moins un conteneur de niveau supérieur.
9 Hazar MLIKI
L’objet JFrame
Pour créer une fenêtre de type JFrame :
import javax.swing.JFrame;
public class Test extends JFrame {
public static void main(String[] args){
JFrame fenetre = new JFrame();
}
}
Lorsqu’ on exécute ce code, on n’obtient rien, car par défaut, JFrame est
invisible.
10 Hazar MLIKI
Structure du JFrame
11 Hazar MLIKI
Structure du JFrame
JPanel est un composant de type conteneur qui permet d'accueillir d'autres objets de
même type ou des objets de type composant (boutons, cases à cocher…).
La démarche à suivre :
1. Importer la classe javax.swing.JPanel dans la classe héritée de JFrame.
2. Instancier un JPanel puis lui spécifier une couleur de fond pour mieux le
distinguer.
3. Avertir le JFrame que ça sera le JPanel qui constituera son ContentPane.
13 Hazar MLIKI
L’objet JPanel
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;