Académique Documents
Professionnel Documents
Culture Documents
2021-12-13 Y.Balouki 2
Le plan du cours:
2021-12-13 Y.Balouki 3
1- Introduction : Qu’est ce que java ?
Langage Assembleur
Langage Structurés
2021-12-13 Y.Balouki 4
JAVA c'est quoi ?
www.tiobe.com
TIOBE index
nov. 2015
Compilateur
Compilateur Compilateur
Byte code
Langage
Byte code
Machine
Interprétation par JVM
Edition de Interprétation par JVM ( le JVM en mode JIT la
( le JVM en mode byte code la traduction du byte code en
lien traduction du byte code en langage machine se fait
langage machine et l’exécute se
d’une façon entière avant
fait instruction par instruction )
Programme.exe l’exécution )
2021-12-13 Y.Balouki 6
1- Introduction : Qu’est ce que java ?
Java ?
• Le langage de programmation orienté objet.
2021-12-13 Y.Balouki 7
1- Introduction : Qu’est ce que java ?
2021-12-13 Y.Balouki 8
1- Introduction : Qu’est ce que java ?
2021-12-13 Y.Balouki 9
1- Introduction : Qu’est ce que java ?
• jar.exe: permet de compresser les classes java ainsi tous les fichiers
nécessaires pour l’exécution du programme. Aussi permet l’optimisation du
chargement des applets sur Internet.
2021-12-13 Y.Balouki 10
1- Introduction : Qu’est ce que java ?
Configuration de l’environnement:
• Définir la variable d’environnement path qui indique le chemin d’accès aux
programmes exécutables. Cette variable devrait contenir le chemin du jdk
utilisé
2021-12-13 Y.Balouki 11
1- Introduction : Qu’est ce que java ?
Configuration de l’environnement:
• Pendant l’exécution d’un programme java, la JVM consulte la variable
d’environnement classpath qui contient le chemin d’accès aux classes java
utilisées par cette application.
2021-12-13 Y.Balouki 12
1- Introduction : Qu’est ce que java ?
JDevlopper de Oracle.
JBuilder de Borland.
Netbeans de Sun.
2021-12-13 Y.Balouki 13
Le Langage Java
Mon premier programme Java (pas très objet…)
Le code de la classe doit être 1 Tout code java doit être défini à l'intérieur d'une classe
enregistré dans un fichier de
même nom (casse comprise)
que la classe 3
public class HelloWorld {
HelloWorld.java
int i = 0;
2 La description de la
while (i < 5) { classe est effectuée à
System.out.println("Hello World !"); l'intérieur d'un bloc
Le point d'entrée pour i++; { }
l'exécution est la 4 }
méthode main()
}
Compilation : Exécution :
javac HelloWorld.java java HelloWorld Hello World !
Hello World !
Hello World !
javac java Hello World !
Hello World !
HelloWorld.java HelloWorld.class
Décembre 2015 © y.BALOUKI 4
Le langage Java
Un langage compilé / interprété
• Compilation d'un programme JAVA : génération de byte-code
01100001
public class Test { javac 11100000
public static void main(String[] args) 11111010
{ 11101...
javap –c Test
for (int i = 0; i < 10; i++) ...
System.out.println("Hello " + i);
Désassemble Test.class
0 iconst_0
} 1 istore_1
} 2 goto 30
5 getstatic #10 <Field java.
Test.java Test.class 8 new #5 <Class java.lang.St
11 dup
code source byte-code 12 ldc #1 <String "Hello ">
….
27 iinc 1 1
30 iload_1
• Le byte-code est : 31 bipush 10
33 if_icmplt 5
– proche d'un langage machine 36 return
– indépendant de la plateforme d'exécution (matériel + OS)
.java .class
source byte-code
Java
MacOS X
VM
Java Solaris
VM Linux
Décembre 2015 6
La machine virtuelle java
Principes de fonctionnement
• Chargement
– chargement sélectif et dynamique des classes
– vérification statique du code (tentatives de modification de la machine
virtuelle, ...)
• Protection lors de l'exécution
– Le "security manager" possède un droit de veto (accès "sauvages" au
système de fichiers, ...)
– Cette protection peut-être modulée
JVM
Réseau
ou Class Loader Classes Security Manager
Système locales
de fichiers
.class
Byte-Code verifier Interpreter
Décembre 2015 7
La machine virtuelle java
Utilisation pour d'autres langages
http://en.wikipedia.org/wiki/File:Java_virtual_machine_architecture.svg
• Plateforme
– Environnement matériel et/ou logiciel dans lequel un programme s'exécute.
• La plus part des plateformes sont la combinaison d'un OS et du matériel sous-
jacent (MS Windows + Intel, Linux + Intel, Solaris + Sparc,
Mac Os X + Power PC)
Plateforme matérielle
(OS + hardware)
• API Java
– (très) vaste collection de composants logiciels (classes et interfaces)
– organisée en bibliothèques (packages)
– offre de nombreux services de manière standard (indépendamment de la
plateforme matérielle)
MonProgramme.class
Plateforme matérielle
Programmer en Java nécessite une bonne
(OS + hardware) connaissance de l'API.
Attention à la courbe d'apprentissage (learning
curve) qui est peut être longue
• 3 éditions de Java
Standard Edition
Fourni les compilateurs, outils, runtimes, et APIs pour
JSE écrire, déployer, et exécuter des applets et applications
dans la langage de programmation Java
• 3 éditions de Java
Standard Edition
Fourni les compilateurs, outils, runtimes, et APIs pour
JSE écrire, déployer, et exécuter des applets et applications
dans la langage de programmation Java
JDeveloper
Oracle
C# .net
Site Developer for Java Codegear JetBrains
Xinox
IBM ...
• Open-source et/ou freeware
« Programmer en Java »,
Claude Delannoy, 9ème édition, Editions Eyrolles, juin 2014
et beaucoup d'autres …
URLs
• https://www.oracle.com/java/index.html
Site officiel Java d'ORACLE
– Téléchargment, Tutoriels, Documentations, spécifications, …
– http://docs.oracle.com/javase/tutorial/index.html
– http://www.oracle.com/technetwork/java/index.html
• http://java.developpez.com/
des tutoriels, des FAQ, des ressources….
• http://www.javapractices.com/
nombreux exemples de code
• http://www.javaworld.com
Magazine électronique, l'actualité de java
• …
Décembre 2015 30
1- Introduction : Qu’est ce que java ?
Les primitives
Java dispose les primitives suivants:
2021-12-13 Y.Balouki 29
2- Structures fondamentales du langage java
Les primitives
• Les primitives doivent être déclarées par la syntaxe suivant:
Exemples:
private int a;
double note=15;
2021-12-13 Y.Balouki 30
2- Structures fondamentales du langage java
Les primitives
• Pour respecter la typologie de java, les noms variables commencent
toujours par un minuscule et pour indiquer un séparateur de mots, on
utilise les majuscules.
int nbPersonnes;
String nomEtudiant;
• Les primitives de type boolean est initialisé par défaut à la valeur false.
2021-12-13 Y.Balouki 31
2- Structures fondamentales du langage java
Exemple1:
2021-12-13 Y.Balouki 32
2- Structures fondamentales du langage java
Exemple 2:
double c= a;
int d= 8;
byte f=(byte)d;
2021-12-13 Y.Balouki 33
Les conversions de type
• Il y a 4 contextes possibles de double f = 3.14;
conversion (cast) : int i=0, j=0;
– Conversion explicite short s = 1;
– Affectation j = (int) f; // float -> int (Convertion explicite)
– Appel de méthode float ff = (float) 3.14;
– Promotion arithmétique i = s; // short -> int (Affectation)
34
Les conversions de type
• Certaines conversions provoquent une perte de valeur.
– float en int, int en short, short en byte
• Le type boolean ne peut pas être converti en entier.
• Le type int ne peut pas être traité comme un booléen.
int i = 3;
2021-12-13 Y.Balouki 36
2- Structures fondamentales du langage java
Les opérateurs:
• Opérateur d’affectation
x=3; // x reçoit 3.
w=3;
+ : addition
- : soustraction
* : multiplication
2021-12-13 Y.Balouki 37
2- Structures fondamentales du langage java
Les opérateurs:
2021-12-13 Y.Balouki 38
2- Structures fondamentales du langage java
Les opérateurs:
2021-12-13 Y.Balouki 39
2- Structures fondamentales du langage java
Structures de contrôle:
2021-12-13 Y.Balouki 40
2- Structures fondamentales du langage java
Structures de contrôle:
2021-12-13 Y.Balouki 41
2- Structures fondamentales du langage java
Structures de contrôle:
2021-12-13 Y.Balouki 42
2- Structures fondamentales du langage java
Structures de contrôle:
2021-12-13 Y.Balouki 43
2- Structures fondamentales du langage java
Structures de contrôle:
2021-12-13 Y.Balouki 44
2- Structures fondamentales du langage java
La classe Scanner:
• La classe Scanner comporte des méthodes consistent à lire un flux de
données caractères par caractères ou bien ligne par ligne saisi par
périphérique d’entrée tel que le clavier.
• Exemple:
2021-12-13 Y.Balouki 45
2- Structures fondamentales du langage java
• La syntaxe:
2021-12-13 Y.Balouki 46
2- Structures fondamentales du langage java
TP1:
Écrire un programme Java qui permet à un utilisateur de saisir un chiffre et il
compare ce chiffre avec un nombre nommé secret.
2021-12-13 Y.Balouki 47
3- les concepts de la programmation orienté objet.
• Pour faire la programmation orienté objet il faut comprendre les concepts suivant.
Objet et classe.
Héritage.
Encapsulation (Accessibilité).
Polymorphisme.
2021-12-13 Y.Balouki 48
3- les concepts de la programmation orienté objet.
Objet
• Un objet est une structure informatique définie par un état et un comportement.
Exemple:
2021-12-13 Y.Balouki 49
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 50
3- les concepts de la programmation orienté objet.
Classe
• Les objets qui ont des caractéristiques communes sont regroupés dans une
entité appelé classe.
• Les objets sont construit a partir de leur par un processus qui s’appelle
l’instanciation.
2021-12-13 Y.Balouki 51
3- les concepts de la programmation orienté objet.
Classe
• Une classe est généralement représenté par un rectangle qui comporte trois
compartiments
2021-12-13 Y.Balouki 52
3- les concepts de la programmation orienté objet.
Classe
Attribut:
• Les attributs et les opérations sont les propriétés d’une classe. Les attributs
décrivent l’état de l’objet de la classe. Un attribut est déclaré selon le format
suivant:
2021-12-13 Y.Balouki 53
3- les concepts de la programmation orienté objet.
Classe
Méthode:
2021-12-13 Y.Balouki 54
3- les concepts de la programmation orienté objet.
Classe
• Les classes sont généralement regrouper dans des packages.
• Les packages divise et organise les modules d’un projet de al même manière
que les dossiers organisent le système de fichier.
2021-12-13 Y.Balouki 55
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 56
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 57
3- les concepts de la programmation orienté objet.
• Exemple de la syntaxe:
2021-12-13 Y.Balouki 58
3- les concepts de la programmation orienté objet.
Encapsulation (Accessibilité):
Dans java, il existe 4 niveaux de la protection:
Private (-) : Un nombre privé d’une classe n’est accessible qu’a l’intérieur de
cette classe.
• L’intérieur de la classe.
2021-12-13 Y.Balouki 59
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 60
3- les concepts de la programmation orienté objet.
Encapsulation (Accessibilité):
• Généralement l’état d’un objet est privé ou protégé et son comportement est
publique.
• Quand l’état de l’objet est privé Seules ces méthodes qu’ont le droit d’y accéder.
• Quand l’état de l’objet est protégé, les méthodes des classes dérivées et les classes
appartenant au même package peuvent également y accéder .
2021-12-13 Y.Balouki 61
3- les concepts de la programmation orienté objet.
Héritage:
• Dans la programmation orientée objet, l’héritage offre un moyen très efficace qui
permet la réutilisation du code.
• En effet une classe peut hériter d’une autre classe des attributs et des méthodes et non
pas les constructeurs.
• L’héritage, quand il peut être exploité, fait gagner beaucoup de temps en terme de
développement et en terme de maintenance des applications.
2021-12-13 Y.Balouki 62
3- les concepts de la programmation orienté objet.
Héritage:
• Si la classe A hérite directement de la classe B alors elle hérite indirectement la classe
Object.
• Le constructeur de la classe dérivée peut faire appel au constructeur de la classe
parente en utilisant le mot super() suivi de ses paramètres.
• La classe dérivée peut redéfinir les méthodes da la classe parente comme elle peut
appeler ces méthodes via le qualificateur super().
• L’héritage et traduit par une association de type généralisation en UML.
Parente
Dérivée1 Dérivée2
2021-12-13 Y.Balouki 63
3- les concepts de la programmation orienté objet.
Héritage: :A
- attr1=1
• Quand on crée une instance d’une classe, la classe parente
- attr2=0
est automatiquement instanciée et l’objet de la classe + meth1()
parente est associé à l’objet créé à travers la + meth2()
+ meth3()
référence « super » injectée par le compilateur
2021-12-13 Y.Balouki 64
3- les concepts de la programmation orienté objet.
Héritage: Exemple
Nous voulons développer une application qui gère les comptes bancaires, un compte
bancaire est soit un compte simple, un compte épargne ou un compte payant.
• Tous les types de comptes sont caractériser par:
o Un code et un solde
o Lors de la création d’un compte, son code qui est défini automatiquement en
fonction du nombre de comptes créés;
o Un compte peut subir les opérations de versement et de retrait. Pour ces deux
opérations, il faut connaître le montant de l’opération.
o Pour consulter un compte on peut faire appel à sa méthode toString()
• Un compte simple est un compte qui possède un découvert. Ce qui signifie que ce
compte peut être débiteur jusqu’à la valeur du découvert.
• Un compte Epargne est un compte bancaire qui possède en plus un champ
«tauxInterêt» et une méthode calculIntérêt() qui permet de mettre à jour le solde en
tenant compte des intérêts.
• Un ComptePayant est un compte bancaire pour lequel chaque opération de retrait et de
versement est payante et vaut 5 % du montant de l’opération.
1. Donner le diagramme de classes.
2021-12-13 Y.Balouki 65
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 66
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 67
3- les concepts de la programmation orienté objet.
Surcharge en Java:
• Dans une classe, on peut définir plusieurs constructeurs. Chacun ayant une
signature différentes (paramètres différents).
• On dit que le constructeur est surchargé
• On peut également surcharger une méthode. Cela peut dire qu’on peut définir,
dans la même classe plusieurs méthodes qui ont le même nom et des signatures
différentes;
• La signature d’une méthode désigne la liste des arguments avec leurs types.
• Un constructeur peut appeler un autre constructeur de la même classe en
utilisant le mot this() avec des paramètres éventuels
2021-12-13 Y.Balouki 68
3- les concepts de la programmation orienté objet.
Classe abstraite:
• Une classe abstraite est une classe qui ne peut pas être instanciée.
• Une classe abstraite est généralement créée pour en faire dériver de nouvelle
classe par héritage.
• Exemple:
2021-12-13 Y.Balouki 69
3- les concepts de la programmation orienté objet.
Méthode abstraite:
• Une méthode abstraite peut être déclarée à l’intérieur d’une classe abstraite.
• Une méthode abstraite est une méthode qui n’a pas de définition.
• Une méthode abstraite est une méthode qui doit être redéfinie dans les classes
dérivées. public abstract class Compte {
// Membres
…
Exemple: // Méthode abstraite
public abstract void afficher();
}
2021-12-13 Y.Balouki 70
3- les concepts de la programmation orienté objet.
Interfaces:
• Une interface est une sorte de classe abstraite qui ne contient que des
méthodes abstraites.
• Dans java une classe hérite d’une seule classe et peut implémenter en même
temps de plusieurs interface.
• Une classe qui implémente une interface doit redéfinir toutes les méthodes de
cette interface.
2021-12-13 Y.Balouki 71
3- les concepts de la programmation orienté objet.
Interfaces:
• Exemple de déclaration d’une interface:
2021-12-13 Y.Balouki 72
3- les concepts de la programmation orienté objet.
• Exemple de syntaxe:
2021-12-13 Y.Balouki 73
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 74
3- les concepts de la programmation orienté objet.
Polymorphisme
• Le polymorphisme offre aux objets la possibilité d ’appartenir à plusieurs catégories à
la fois.
• En effet, nous avons certainement tous appris à l'école qu'il était impossible
d'additionner des chats et des chiens.
3 (animaux) chats
+
5 (animaux) chiens
---------------------------------------------
= 8 animaux
• Cette façon de voir les choses implique que les chats et les chiens soient "transformés"
en animaux préalablement à l'établissement du problème. Cette transformation est
appelée sur-casting
2021-12-13 Y.Balouki 75
3- les concepts de la programmation orienté objet.
Animal
poids:int
Animal()
affiche():void
Chat Chien
Chat(int p) Chien(int p)
affiche():void affiche():void
affichePoids() affichePoids()
2021-12-13 Y.Balouki 76
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 77
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 78
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 79
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 80
3- les concepts de la programmation orienté objet.
2021-12-13 Y.Balouki 81
3- les concepts de la programmation orienté objet.
• Cela est tout à fait vrai car cette méthode est définie dans les classes Chien et Chat et
non dans la classe Animal.
• Cette conversion s’appelle Sous-casting qui indique la conversion d’un objet d’une
classe vers un autre objet d’une classe dérivée.
• Cette instruction indique que l’objet a1 , de type Animal, est converti en Chien, ensuite
la méthode affichePoids() de l’objet Chien est appelée.
2021-12-13 Y.Balouki 82
3- les concepts de la programmation orienté objet.
Au moment de l’exécution, cette technique est appelée late binding et utilisée pour
une méthode n’est pas déclarée final .
• Dans notre cas, la méthode affiche() possède 3 versions définies dans les classes Animal,
Chien et Chat. Ces méthodes ne sont pas déclarées final alors c’est au moment de
l’exécution que Java fait le lien entre l’objet et la méthode correspondante.
2021-12-13 Y.Balouki 83
3- les concepts de la programmation orienté objet.
Polymorphisme: Résumé
• Un objet est une instance de:
sa classe,
toutes les classes parentes de sa classe,
toutes les interfaces qu'il implémente,
toutes les interfaces parentes des interfaces qu'il implémente,
toutes les interfaces qu'implémentent les classes parentes de sa classe,
toutes les interfaces parentes des précédentes.
2021-12-13 Y.Balouki 84
4- les tableaux et les collections en Java.
liste
Tableaux des primitives
5 0
12 1
Déclaration d’un tableau : 2
23
3
Tableau de nombres entier : int[] liste; 4
5
liste est un handle qui pointe vers un tableau d’entier 6
7
Création du tableau: liste = new int[11]; 8
9
10
1:
liste[0]=5; liste[1]=12; liste[3]=23;
2:
for(int i=0;i<liste.length;i++){
System.out.println(liste[i]);
}
2021-12-13 Y.Balouki 85
4- les tableaux et les collections en Java.
lesAnimaux
Tableaux des objets
Déclaration d’un tableau des objets: 0
Tableau d’objets Animal : Animal[] lesAnimaux; a1:Chien 1
Création du tableau:
poids=760 2
affiche() 3
affichePoids() 4
lesAnimaux = new Animal[5];
Création des objets: :Chat
poids=360
Chien a1=new Chien(760);
affiche()
lesAnimaux[0]= a1;
lesAnimaux[1]=new Chat(100); affichePoids()
lesAnimaux[2]=new Pomme(55);
:Chien
Manipulation des objets: poids=860
for(int i=0;i<lesAnimaux.length;i++){ affiche()
lesAnimaux[i].affiche();
affichePoids()
if(lesAnimaux[i] instanceOf Chien)
((Chien)lesAnimaux[i]).affichePoids();
else
((Chat)lesAnimaux[i]).affichePoids();
}
2021-12-13 Y.Balouki 86
4- les tableaux et les collections en Java.
Les collections
• Une collection est un objet qui contient autres objets.
• On utilise les collections dans le cas où on a la dimension des données est dynamique.
• Java fourni une infrastructure pour la gestion des collections, c’est un ensemble des
classes et interfaces du package java.util.
2021-12-13 Y.Balouki 87
4- les tableaux et les collections en Java.
2021-12-13 Y.Balouki 88
4- les tableaux et les collections en Java.
Collection Map
SortedSet HashMap
ArrayList
HashSet TreeMap
Vector
TreeSet
…
2021-12-13 Y.Balouki 89
4- les tableaux et les collections en Java.
2021-12-13 Y.Balouki 90
4- les tableaux et les collections en Java.
2021-12-13 Y.Balouki 91
4- les tableaux et les collections en Java.
2021-12-13 Y.Balouki 92
4- les tableaux et les collections en Java.
• La collection de type Vector est optimal (Consomme mois de mémoire par rapport à
ArrayList).
• Déclaration d’un Vecteur qui devrait stocker des objets de type Fruit:
Vector<Fruit> fruits;
• Création d’un vecteur fruits:
fruits=new Vector<Fruit>();
• Ajouter deux objets de type Fruit au vector fruits
fruits.add(new Pomme(30));
fruits.add(new Orange(25));
• Faire appel à la méthode affiche() de tous les objets de la liste:
En utilisant la boucle classique for
for(int i=0;i<fruits.size();i++){
fruits.get(i).affiche();
}
En utilisant la boucle for each
for(Fruit f:fruits)
f.affiche();
• Supprimer le deuxième Objet du vector: fruits.remove(1);
2021-12-13 Y.Balouki 93
4- les tableaux et les collections en Java.
• Déclaration et création d’une collection de type HashMap qui contient des fruits
identifiés par une clé de type
fruits
key value
2021-12-13 Y.Balouki 94
4- les tableaux et les collections en Java.
fruits
:Pomme
key value
p1
o1
:Orange
2021-12-13 Y.Balouki 95
4- les tableaux et les collections en Java.
L’interface Iterator
• La collection de type Iterator du package java.util est souvent utilisée pour parcourir et
afficher les objets d’une autre collection.
Parcourir de la collection:
while(it.hasNext()){
Fruit f=it.next();
f.affiche();
}
2021-12-13 Y.Balouki 96
4- les tableaux et les collections en Java.
L’interface Iterator
• Comment parcourir un objet de type HashMap par un objet de type Iterator:
Création d’un HashMap de Fruit.
Map<String, Fruit> fruits=new HashMap<String, Fruit>();
Ajouter des fruits à la collection fruits:
fruits.put("p1", new Pomme(40));
fruits.put("o1", new Orange(60));
Création d’un Iterator à partir de ce vecteur
Iterator<String> it=fruits.keySet().iterator();
Parcourir de la collection:
while(it.hasNext()){
String key=it.next();
Fruit f=fruits.get(key);
System.out.println(key);
f.affiche();
}
2021-12-13 Y.Balouki 97
3- les concepts de la programmation orienté objet.
Atelier 1:
On souhaite créer une application - Gestion des notes – qui permet de gérer les notes des
étudiants. Chaque étudiant est identifié par un code , un nom, un prénom, age et adresse-
mail. Il peut être inscrit en une ou plusieurs matières, chaque matière est définie par un
code alphanumérique, une désignation et un volume horaire, l’étudiant doit avoir une
note moyenne pour chaque matière et suivant la note on conclut la note moyenne et le
mention. Un professeur peut enseigner un ou plusieurs matières et il peut être permanant
ou vacataire, le salaire d’un enseignant vacataire calculer on multipliant le nombre
d’heure par 300 Dhs par contre le salaire d’un enseignant permanant est égale nombre
d’heure multiplier par 200Dhs.
Ajouter un étudiant.
2021-12-13 Y.Balouki 98
3- les concepts de la programmation orienté objet.
Atelier 1:
Afficher les notes d’un etudiant.
Questions:
4-Tester l’application
2021-12-13 Y.Balouki 99
4- Les interfaces graphiques en Java.
Toutes interactions utilisateurs avec l’application sont assurées via les IHMs.
composants:
composants graphiques.
container.
AWT Swing
Component • Label • JLabel
• Button • JButton
• TextField • JTextField
• List • JList
• … • …
Container • Panel • JPanel
AWT:
• Une application AWT est une classe qui hérite
de la classe Frame.
• Pour développer un interface graphique à
base de AWT il faut suivre les étapes
suivantes:
Définir l’ensembles des components.
Définir si nécessaire les conteneurs.
Ajouter les components à des
conteneurs.
Définir une stratégie pour afficher les
conteneurs et les components.
Afficher l’interface graphique.
Swing:
• Une application Swing est une classe qui
hérite de la classe JFrame.
• Pour développer un interface graphique à
base de Swing il faut suivre les étapes
suivantes:
Définir l’ensembles des components.
Définir si nécessaire les conteneurs.
Ajouter les components à des
conteneurs.
Définir une stratégie pour afficher les
conteneurs et les components.
Afficher l’interface graphique.
• …
.
2021-12-13 Y.Balouki 106
4- Les interfaces graphiques en Java.
.
• Constructeur:
• Classe interne:
• Le constructeur:
• Le constructeur
Atelier 2:
On reprend l’Atelier 1 (Gestion des notes) et on veut créer un interface
graphique qui permet à un utilisateur de saisir le code de l’etudiant et on cliquant
sur le bouton chercher le nom de l’étudiant est ajouté à une liste et les
informations de l’étudiant ainsi sa moyenne s’affichent sur une autre liste.
Résultat d’exécution
• Si b=0 :
Donner a:12
Donner b:0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ExempleException.divisionApp1.java:4)
at ExempleException.main(App1.java:11)
System.out.println(e.getMessage());
System.out.println(e.toString());
e.printStackTrace();