0% ont trouvé ce document utile (0 vote)
5 vues23 pages

Cours de Java

Le document présente un cours sur le développement d'applications desktop en Java, abordant les concepts de la programmation orientée objet et les spécificités du langage. Il détaille les objectifs pédagogiques, les avantages et inconvénients de Java, ainsi que les bases de la syntaxe, des variables, des méthodes et de l'encapsulation. Des exercices pratiques sont également fournis pour renforcer les compétences des étudiants.

Transféré par

Espoir Baraka
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues23 pages

Cours de Java

Le document présente un cours sur le développement d'applications desktop en Java, abordant les concepts de la programmation orientée objet et les spécificités du langage. Il détaille les objectifs pédagogiques, les avantages et inconvénients de Java, ainsi que les bases de la syntaxe, des variables, des méthodes et de l'encapsulation. Des exercices pratiques sont également fournis pour renforcer les compétences des étudiants.

Transféré par

Espoir Baraka
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INSTITUT SUPÉRIEUR D’INFORMATIQUE ET DE GESTION

« ISIG-GOMA »

DEVELOPPEMENT D’APPLICATIONS DESKTOP (JAVA)

LIC2 LIAGE

Enseignant : Ass. BARAKA BIGEGA Espoir

Année académique 2022-2023


1

Chap. I : INTRODUCTION GENERALE


I.1. OBJECTIFS
I.1.1. Objectif général

Le présent E.C.U.E a pour objectif d’aider les étudiants à comprendre les notions de la
programmation orientée objet basées sur le langage de programmation JAVA et ainsi être à
mesure de concevoir des applications desktop avec ce même langage.

I.1.2. Objectif spécifiques

Comme objectifs spécifiques :

- Comprendre les avantages du langage JAVA ;


- Avoir une vue sur les Framework JAVA ;
- Comprendre toutes les notions derrière la programmation orientée objet ;
- Développer des interfaces graphiques avec SWING ;
- Etre capable de manipuler une base des données avec une Application Java ;
- Avoir une notion sur l’architecture client-serveur.

I.2. EVALUATION
- TD Pratique : 40% (Soit 2 TP * 20 points = 40 points) ;
- Interrogation pratique : 20% (/20 points) ;
- Examen: 40% (/40 points).

Cote de l’année = (40 + 20 + 40) / 5 = 20 points.

I.3. AVANTAGES ET INCONVENIENTS DE JAVA


I.3.1. Avantages

- Un langage multiplateforme : Java est un langage de programmation multiplateforme,


ce qui signifie qu’avec Java, il est possible de concevoir des applications desktop, web
et mobiles.
- Il est orienté objet : Java permet aux développeurs d'écrire des programmes
réutilisables moyennant la notion de la POO.
- Grande communauté de développeurs : Java est utilisé par des millions de
développeurs dans le monde entier, ce qui signifie qu'il existe une grande communauté
de soutien et une abondance de ressources en ligne pour aider les développeurs à
résoudre les problèmes et à apprendre de nouvelles compétences.
2

- Facilité d'utilisation : Java est un langage de programmation relativement facile à


apprendre, car il utilise une syntaxe simple et claire qui est facile à comprendre.

I.3.1. Inconvénients

- Performance : Java est moins performant que d'autres langages de programmation pour
les applications nécessitant une grande vitesse ou une utilisation intensive des
ressources.
- Consommation de mémoire : Java nécessite une grande quantité de mémoire pour
exécuter ses programmes, ce qui peut être un inconvénient pour les ordinateurs avec une
faible capacité de mémoire.

I.4. LES FRAMEWORK JAVA


Comme tant d’autres langages de programmation, Java dispose de plusieurs Framework
permettant aux développeurs de gagner en temps et en efficacité. Les Framework Java sont des
plateformes créées pour faciliter et simplifier la réalisation de certaines tâches. Nous pouvons
citer :

- JavaFX ;
- Spring ;
- Hibernate ;
- JSF (Java Server Faces) ;
- Struts ;
- Google Web Kit (GWT) ;
- Play.
3

Chap. II : NOTIONS ELEMENTAIRES


1. LES VARIABLES
En Java, les variables sont des emplacements de la mémoire qui peuvent être utilisés
pour stocker des données. Les variables ont des noms et des types, et elles peuvent être utilisées
pour stocker des valeurs de différents types, tels que des entiers, des réels, des chaînes, des
objets et des tableaux.
Pour déclarer une variable, vous devez spécifier son nom et son type. Par exemple, la
déclaration suivante déclare une variable appelée age de type int et lui attribue la valeur 43:
int age = 43;

Il existe différents types de variables, comme :

- int : Stocke des nombres entiers. Ex : 123 ou -123 ;


- float et double : Stockent les nombres à décimaux, telles que 19,99 ou -19,99 ;
- char : stocke des caractères uniques, tels que 'a' ou 'B'. La valeur d’un char doit être
entourée de guillemets simples.
- String : stocke une chaîne de caractères, tel que "Bonjour". La valeur d’un String doit
être entourée de doubles guillemets ;
- boolean : stocke les valeurs avec deux états : soit vrai ou faux.

Une fois qu'une variable a été déclarée, vous pouvez y accéder en utilisant son nom. Par
exemple, la ligne suivante imprime la valeur de la variable age :
[Link](age);
Les variables peuvent être utilisées pour stocker des données de différents types. Par exemple,
la déclaration suivante déclare une variable appelée myString de type String et lui attribue la
valeur "Hello, world !" :
String myString = "Hello, world!";

Les variables peuvent également être utilisées pour stocker des objets. Par exemple, la
déclaration suivante déclare une variable appelée francois de type Object et lui attribue une
nouvelle instance de la classe Personne :
Personne francois = new Personne();
Les variables peuvent être utilisées pour stocker des tableaux. Par exemple, la déclaration
suivante déclare une variable appelée cote de type int[] et lui attribue un tableau de trois
entiers:
4

int[] cote = { 5, 7, 4 };

a) Types de données

En Java, il existe deux types de données : les types primitifs et les types d'objets.

- Les types primitifs sont des données élémentaires telles que des nombres, des caractères
et des booléens. Ils sont stockés directement en mémoire et peuvent être manipulés
directement par le CPU.
- Les types d'objets sont des données plus complexes telles que les chaînes, les listes et
les tableaux. Ils sont stockés indirectement en mémoire et sont représentés par des
références.

Voici les types primitifs de Java :

 byte : un octet, soit 8 bits.


 short : un mot court, soit 16 bits.
 int : un entier, soit 32 bits.
 long : un entier long, soit 64 bits.
 float : un nombre à virgule flottante, soit 32 bits.
 double : un nombre à virgule flottante double précision, soit 64 bits.
 boolean : un booléen, soit vrai ou faux.
 char : un caractère, soit un code Unicode de 16 bits.

Voici quelques exemples de types d'objets :

 String : une chaîne de caractères.


 List : une liste d'objets.
 Array : un tableau d'objets.
 Object : un objet générique.

Les types primitifs peuvent être convertis en types d'objets et vice versa. Par exemple, la
variable int myInt peut être convertie en variable String myString en utilisant la méthode
[Link]().

b) Déclaration avec final

Le mot final sert à déclarer et initialiser une variable dont sa valeur ne doit jamais être modifiée.
Si vous essayez de modifier la valeur d'une variable du type final, vous obtiendrez une erreur
de compilation.
5

Ex: final float pi = 3,14f;

2. LES BASES
a) Syntaxe
Chaque ligne de code qui s'exécute en Java doit être à l'intérieur d'une classe.

- Le nom de la classe doit toujours commencer par une lettre majuscule.


- Java est sensible à la casse : "MyClass" et "myclass" ont des significations différentes.
- Le nom du fichier Java doit correspondre au nom de la classe.

Voici une classe (Etudiant) avec la méthode principale (main) qui démarre le programme.

public class Etudiant {


public static void main(String[] args) {
[Link]("Hello World");
}
}
b) Afficher en JAVA

Pour afficher, on se sert de la classe System. System est une classe de la bibliothèque
standard Java qui fournit des méthodes d'accès et de manipulation aux ressources système. Elle
contient des méthodes pour accéder à l'entrée standard, la sortie standard et la sortie d'erreur,
ainsi que pour obtenir des informations sur le système d'exploitation et le système
d'exploitation.

Ex: [Link]("Hello World");

c) Lire

La classe Scanner est utilisée pour récupérer l'entrée de l'utilisateur. Elle se trouve dans le
package [Link]. Dans notre exemple, nous utiliserons la méthode nextLine(), pour lire une
chaine de caractères.
6

import [Link];
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner([Link]);
[Link]("Entrez votre nom");
String nom = [Link]();
[Link]("Mon nom est: " + nom);
}
}

Dans l'exemple ci-dessus, nous avons utilisé la méthode nextLine(), qui est utilisée pour lire
les chaînes. Pour lire d'autres types, vous pouvez utiliser :

Méthodes Description
nextBoolean() Lit une valeur booléenne ;
nextByte() Lit une valeur du type byte ;
nextDouble() Lit une valeur du type double ;
nextFloat() Lit une valeur du type float ;
nextInt() Lit une valeur du type int ;
nextLine() Lit une valeur du type String ;
nextLong() Lit une valeur du type long ;
nextShort() Lit une valeur du type short ;
next().charAt(0) Lit un char.

d) Les tableaux

Les tableaux sont utilisés pour stocker plusieurs valeurs dans une seule variable. Pour
déclarer un tableau, il faut préciser d’abord son type, suivi d’un crochet.

String[] pays;

String[] pays = {"RDC", "Algerie", "Ghana", "Niger"};

int[] mesPoints = {10, 20, 30, 40};

Pour accéder aux éléments d'un tableau, on se réfère au numéro d'index.


7

Ex :

String[] pays = {"RDC", "Algerie", "Ghana", "Niger"};

[Link](pays[0]);

3. LES METHODES
Une méthode est un bloc de code qui ne s’exécute que lorsqu’elle est appelée. Vous pouvez
transmettre des données à une méthode via des paramètres. Les méthodes sont utilisées pour
effectuer certaines actions, et elles sont également appelées des fonctions. Les méthodes nous
permettent de définir le code une seule fois et l’utiliser plusieurs fois.

public class Myclass {


static void checkAge(int age){
if (age < 18) {
[Link]("Vous êtes mineur");
} else {
[Link]("Vous êtes majeur");
}
}
public static void main(String[] args) {
checkAge(20);
}
}

4. EXERCICES

Ex1 : Ecrire un programme qui permet de faire la somme entre deux nombres entrés au clavier ;

Ex2 : Ecrire un programme qui affiche les lettres de votre nom en utilisant un tableau.

Ex3 : Faire un programme qui affiche le point cardinal suivant la lettre saisie (N, n, S, s, E, e,
O, o). Le programme affichera « Choix invalide » si l’utilisateur saisi une autre lettre ;
Ex4 : Faire un programme qui calcule le carré de deux nombres entrés au clavier.

Ex5 : Ecrire un programme qui demande à l’utilisateur d’entrer son âge et son sexe. Le
programme affichera soit Majeur, Majeure, Mineur, Mineure.
8

Ex6 : Ecrire un programme qui permet de faire la somme entre deux nombres passés en
paramètre d’une méthode ;

Ex7 : Ecrire un programme qui affiche le factoriel d’un nombre saisi au clavier.

Ex8 : Ecrire un programme qui demande à l’utilisateur de saisir un pays et sa capitale. Le


programme affichera toutes les données quand l’utilisateur aura saisi « Ne pas continuer ».

Ex9 : Ecrire un programme qui affiche le signe = le nombre de fois passée en paramètre d’une
méthode.

Ex10 : Faire un programme qui affiche le factoriel d’un nombre saisi autant de fois que
l’utilisateur le voudra.

Ex11 : Ecrire une méthode qui effectue l’opération arithmétique de 2 nombres selon le signe
passé en paramètre.

Ex12 : Ecrire une méthode qui souligne chaque lettre de votre nom par le signe _

Ex13 : Ecrire un programme qui permet d’afficher les tables de multiplications de 0 à 10.
9

Chap. III : LA PROGRAMMATION ORIENTEE OBJET


La programmation procédurale consiste à écrire des procédures ou des méthodes qui
effectuent des opérations sur les données, tandis que la programmation orientée objet consiste
à créer des objets contenant à la fois des données et des méthodes. La POO présente plusieurs
avantages par rapport à la programmation procédurale dont :

- La POO est plus rapide et plus facile à exécuter ;


- La POO fournit une structure claire pour les programmes ;
- La POO permet de créer des applications entièrement réutilisables avec moins de code
et un temps de développement plus court.
1. CLASSE ET OBJET

Les classes et les objets sont les deux principaux aspects de la programmation orientée objet.
Ainsi, une classe est un modèle pour les objets et un objet est une instance d'une classe. Lorsque
les objets sont créés, ils héritent de toutes les variables et fonctions de la classe.

 Pour créer une classe, on utilise le mot clé class :

public class Etudiant {


int age = 18;
}

 Pour créer un objet de la classe Etudiant, il faut spécifier le nom de la classe, suivi du
nom de l'objet, et en utilisant le mot-clé new :

Etudiant gaetan = new Etudiant();


10

2. ATTRIBUTS ET METHODES

Les attributs d'une classe sont les variables qui sont utilisées pour stocker les données d'un
objet. Ils peuvent être publics, privés ou protégés. Les attributs publics peuvent être consultés
par n'importe quelle classe, tandis que les attributs privés ne peuvent être consultés que par la
classe dans laquelle ils sont déclarés. Les attributs protégés peuvent être consultés par la classe
dans laquelle ils sont déclarés et par les classes qui en dérivent.

En un mot, les attributs sont déclarés dans une classe tandis que les variables sont déclarées
dans une méthode.

Une méthode est une fonction qui est définie dans une classe. Les méthodes peuvent être
utilisées pour effectuer des tâches spécifiques.

public class Etudiant {


String nom; //Attribut nom
String postnom; //Attribut postnom
String prenom; //Attribut prenom
private int age; //Attribut age
public void passerExamen(String cours) {
[Link]([Link]+" fait l’examen de "+cours);
}
}

3. LE CONSTRUCTEUR

Un constructeur est une méthode spéciale utilisée pour initialiser des objets. Le constructeur
est appelé lorsqu'un objet d'une classe est créé. Il peut être utilisé pour définir des valeurs
initiales pour les attributs de la classe. Une classe peut avoir un ou plusieurs constructeurs, et
donc dans ce cas il est possible d’initialiser la classe de différentes manières.

Notez que le nom du constructeur doit correspondre au nom de la classe et qu'il ne peut pas
avoir un type de retour.
11

public class Personne {


String nom;
String postnom;
String prenom;
private int age;
public Personne(int age) {
[Link] = “BARAKA”;
[Link] = “BIGEGA”;
[Link] = “ESPOIR”;
[Link] = age;
}
public Personne(String name, String second_name, String third_name) {
[Link] = name;
[Link] = second_name;
[Link] = third_name;
}
public static void main(String[] args){
Personne espoir = new Personne(54);
Personne gaetan= new Personne(“ABIO”,”BAMONGOYO”,”Gaetan”) ;
}
}

4. ENCAPSULATION

L'encapsulation consiste à cacher l'état interne d'un objet et d'imposer de passer par des
méthodes permettant un accès sécurisé à l'état de l'objet. Cela permet de protéger les données
des modifications non autorisées et de garantir leur cohérence.

Pour utiliser l'encapsulation en Java, il faut :

- Déclarer les variables de la classe comme privées. Cela signifie qu'elles ne pourront être
accessibles que depuis les méthodes de la classe.
12

- Fournir des méthodes publiques pour modifier et consulter les valeurs des variables
privées. Ces méthodes sont appelées getters et setters.

public class Personne {


private String nom;
private int age;
public String getName() {
return [Link];
}
public void setName(String name) {
[Link] = name;
}
public int getAge() {
return [Link];
}
public void setAge(int age) {
[Link] = age;
}
}

La variable nom et la variable age sont déclarées comme privées, ce qui signifie qu'elles ne
peuvent être accessibles que depuis les méthodes de la classe Personne. Les méthodes
getName() et setName() permettent de consulter et modifier les valeurs des variables privées.

L'encapsulation est un concept important en programmation orientée objet. Elle permet de


protéger les données, de garantir leur cohérence et de simplifier le code.

5. HERITAGE

L'héritage est un concept fondamental de la programmation orientée objet. Il permet


de créer une nouvelle classe à partir d'une classe existante en ajoutant de nouvelles propriétés
et méthodes. La classe existante est appelée classe de base ou classe parente, et la nouvelle
classe est appelée classe dérivée ou classe enfant.
13

En Java, l'héritage est indiqué par le mot clé extends. Par exemple, la classe suivante hérite de
la classe Animal :
class Chien extends Animal {

La classe Chien peut utiliser toutes les propriétés et méthodes de la classe Animal, ainsi que
ses propres propriétés et méthodes.
L'héritage est un concept puissant qui permet de réutiliser du code et de créer des classes plus
complexes. Il est l'un des piliers de la programmation orientée objet.
Voici quelques exemples d'utilisation de l'héritage en Java :
- Une classe Personne peut hériter d'une classe Animal pour ajouter des propriétés et
méthodes spécifiques aux personnes, telles que le nom, l'âge, la profession, etc.
- Une classe Cercle peut hériter d'une classe Forme pour ajouter des propriétés et
méthodes spécifiques aux cercles, telles que le rayon, le centre, etc.
- Une classe Vehicule peut hériter d'une classe Objet pour ajouter des propriétés et
méthodes spécifiques aux véhicules, telles que la vitesse, la consommation de carburant,
etc.
6. POLYMORPHISME

Le polymorphisme signifie "plusieurs formes", et se produit lorsque nous avons de


nombreuses classes liées les unes aux autres par héritage. Comme nous l'avons précisé
précédemment ; L'héritage nous permet d'hériter des attributs et des méthodes d'une autre
classe. Le polymorphisme utilise ces méthodes pour effectuer différentes tâches. Cela nous
permet d'effectuer une même action de différentes manières.
Par exemple, pensez à une superclasse appelée Animal qui a une méthode appelée
animalSound(). Les sous-classes d'animaux peuvent être Pig, Dog, Cow, … ; et ils ont aussi
leur propre implémentation d'un son d'animal (le cochon grogne, et le chien aboie, etc.) :
class Animal {
public void animalSound() {
[Link]("L’animal crie");
}
}
14

class Pig extends Animal {


public void animalSound() {
[Link]("Le cochon grogne");
}
}
class Dog extends Animal {
public void animalSound() {
[Link]("Le chien aboie");
}
}

class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal();
Animal myPig = new Pig();
Animal myDog = new Dog();
[Link]();
[Link]();
[Link]();
}
}

En Java, le polymorphisme peut être obtenu en utilisant des interfaces ou des classes abstraites,
qui définissent le comportement commun d'un groupe de classes, mais laissent les détails
d'implémentation aux sous-classes.
7. MODIFICATEURS D'ACCES

Les modificateurs d'accès en Java sont des mots-clés qui permettent de contrôler la visibilité
des membres d'une classe. Nous divisons les modificateurs en deux groupes :

- Modificateurs d'accès : contrôlent le niveau d'accès


- Modificateurs de non-accès : Ne contrôlent pas le niveau d'accès, mais fournissent
d'autres fonctionnalités.
15

1. Modificateurs d'accès
a) Pour les classes

Pour les classes, vous pouvez utiliser public ou default :

- public : signifie que cette classe sera accessible par n’importe quelle autre classe ;
- default : La classe n'est accessible que par les classes du même package. Ceci est utilisé
lorsque vous ne spécifiez pas de modificateur.
b) Pour les attributs, les méthodes et les constructeurs
- public : Le code sera accessible dans toutes les classes du projet.
- private : Le code n'est accessible qu'au sein de la classe déclarée. C’est là
qu’intervient la notion d’accesseurs et mutateurs quand il s’agit des attributs privés.
- protected : Le code est accessible dans le même package et dans les classes filles.
- Default : Le code n'est accessible que dans le même package. Ceci est utilisé lorsque
vous ne spécifiez pas de modificateur.
2. Modificateurs de non-accès
a) Pour les classes

Pour les classes, vous pouvez utiliser soit final soit abstract:

- final : Signifie que cette classe ne peut pas être héritée par d'autres classes ;
- abstract : Signifie que cette classe ne peut pas être utilisée pour créer des objets .
Pour accéder à une classe abstraite, elle doit être héritée par une autre classe. C’est l’un
des outils du polymorphisme utilisé lorsque plusieurs sous-classe ont une méthode
commune mais avec des comportements différents. Une classe est dite abstraite que
quand elle contient au moins une méthode abstraite (une méthode sans corps et déclarée
avec le mot clé abstract) ;
public abstract class Vehicule {
String marque;
String modele;
public abstract void demarrer();
public void rouler(){
[Link]("Je roule");
};
}
16

public class Tx extends Vehicule {


@Override
public void demarrer(){
[Link]("Je demarre en tant que TX");
}
}

public class Rav4 extends Vehicule {


@Override
public void demarrer(){
[Link]("Je demarre en tant que Rav4");
}
}
public class Main {
public static void main(String[] args){
Vehicule r1=new Rav4();
Vehicule r2=new Tx();
[Link]();
[Link]();
[Link]();
}
}

- interface : Les interfaces servent à créer des comportements génériques. Si plusieurs


classes doivent obéir à un comportement particulier (enregistrer, modifier, supprimer),
il faut utiliser une interface décrivant ce comportement, on la fait implémenter par les
classes qui en ont besoin. L'interface est assez proche de la classe abstraite, mais la
différence existant entre une interface et une classe abstraite est que toutes les méthodes
d’une interface sont obligatoirement abstraites tandis qu’une classe abstraite peut
contenir des méthodes non abstraites. Lors de sa déclaration, le mot clé class est
17

remplacé par interface. Une interface sera héritée pas le mot clé implements au lieu
de extends.
public interface DAO {
public void inserer(Student students);
public void modifier(Student students);
public void supprimer(Student students);
}
Cela signifie que toute classe qui implémente l'interface DAO doit avoir les méthodes
inserer, modifier et supprimer.
Toutes les méthodes d'une interface sont automatiquement publiques.
Ainsi, une classe qui implémente (on ne dit pas hériter) une interface, devra
obligatoirement implémenter les méthodes. Ainsi, l'interface est une sorte de contrat :
on présente les noms des méthodes (et ainsi souvent leur objectif) sans se soucier de la
méthode dont elles seront implémentées.
b) Pour les attributs, les méthodes et les constructeurs
- final : Cela signifie que un tel attribut ou méthode ne peut pas être remplacés ou
modifiés.
- abstract : Ne peut être utilisé que dans une classe abstraite et ne peut être utilisé que
sur des méthodes. La méthode n'a pas de corps, par exemple abstract void run();.
Le corps est fourni par la sous-classe.
- static : Les attributs et les méthodes appartiennent à la classe, plutôt qu'à un objet.
18

Chap. IV : LES INTERFACES GRAPHIQUES AVEC SWING


Java dispose de plusieurs bibliothèques d'interface graphique (GUI), dont les plus courantes
sont :

a) AWT (Abstract Window Toolkit)

AWT est la bibliothèque GUI la plus ancienne de Java. Elle est basée sur les composants
graphiques du système d'exploitation sous-jacent, ce qui lui permet d'obtenir de bonnes
performances. Cependant, AWT est également la bibliothèque GUI la plus limitée, et elle ne
dispose pas de nombreux composants GUI avancés.

b) Swing

Swing est une bibliothèque GUI plus récente que AWT. Elle est basée sur le modèle MVC,
ce qui la rend plus flexible et facile à maintenir que AWT. Swing dispose également d'une large
gamme de composants GUI avancés, ce qui en fait une bonne option pour les applications qui
nécessitent une interface utilisateur riche. Cependant, Swing est également une bibliothèque
plus gourmande en ressources que AWT, ce qui peut être un problème pour les applications
mobiles ou les applications avec des contraintes de performances.

c) SWT (Standard Widget Toolkit)

SWT est une bibliothèque GUI développée par IBM. Elle est conçue pour être indépendante
du système d'exploitation, ce qui signifie qu'une application SWT peut être portable sur
plusieurs systèmes d'exploitation. SWT est également une bibliothèque plus performante que
Swing, ce qui en fait une bonne option pour les applications qui nécessitent des performances
élevées. Cependant, SWT est une bibliothèque moins mature que Swing, et elle ne dispose pas
de la même gamme de composants GUI avancés.

d) JavaFX

JavaFX est la bibliothèque GUI la plus récente de Java. Elle est conçue pour être moderne,
performante et interactive. JavaFX dispose d'une large gamme de composants GUI avancés, et
elle est également indépendante du système d'exploitation. JavaFX est une bonne option pour
les applications qui nécessitent une interface utilisateur riche et interactive.
19

1. PRESENTATION DE SWING

La bibliothèque Swing est une bibliothèque graphique pour Java qui fournit une variété de
widgets et de contrôles qui peuvent être utilisés pour créer des interfaces utilisateur riches et
interactives.

Voici quelques-unes des classes les plus courantes de la bibliothèque Swing :

- JFrame : Une classe qui représente une fenêtre.


- JPanel : Une classe qui représente un conteneur pour d'autres composants.
- JLabel : Une classe qui affiche du texte ou une image.
- JButton : Une classe qui représente un bouton.
- JCheckBox : Une classe qui représente une case à cocher.
- JRadioButton : Une classe qui représente un bouton radio.
- JTextField : Une classe qui représente une zone de texte.
- JPasswordField : Une classe qui représente une zone de texte pour le mot de passe.
- JComboBox : Une classe qui représente une liste déroulante.
- JList : Une classe qui représente une liste.
- JScrollPane : Une classe qui permet de faire défiler d'autres composants.
- JTable : Une classe qui représente un tableau.
- JTree : Une classe qui représente un arbre.

La bibliothèque Swing est divisée en plusieurs packages, chacun contenant des classes
spécifiques. Voici quelques-uns des packages les plus importants de la bibliothèque Swing :

- [Link] : Ce package contient les classes principales de la bibliothèque Swing,


telles que JFrame, JPanel, JLabel, JButton, etc.
- [Link] : Ce package contient des classes pour dessiner des bordures autour
des composants Swing.
- [Link] : Ce package contient des classes pour créer des sélecteurs
de couleurs.
- [Link] : Ce package contient des classes pour gérer les événements Swing.
- [Link] : Ce package contient des classes pour créer des sélecteurs de
fichiers.
- [Link] : Ce package contient des classes pour créer et manipuler des
tableaux Swing.
20

- [Link] : Ce package contient des classes pour créer et manipuler des arbres
Swing.
2. LE MODELE MVC

Le MVC (Model-View-Controller) est un modèle architectural qui sépare une application


en trois composants logiques principaux : modèle, vue et le contrôleur. Chacun de ces
composants est construit pour gérer des aspects de développement spécifiques d’une
application.

Composants MVC

Les trois composantes importantes du MVC sont :

- Modèle
- Vue
- Contrôleur

1. Vue

Une vue est un moyen d’afficher des objets dans une application. Par exemple, l’affichage d’une
fenêtre ou des boutons ou d’un texte dans une fenêtre. Il comprend tout ce que l’utilisateur peut
voir. La vue est l’interface utilisateur. La vue permet à l’utilisateur d’afficher les données à
l’aide d’un modèle et lui permet également de modifier les données.
21

2. Modèle

Un modèle contient la structure des données utilisées par un programme. Il peut s’agir d’une
base de données, d’un fichier ou d’un simple objet. Par exemple, un objet Client récupérera les
informations de la base de données, les manipulera et mettra à jour ses données dans la base de
données.

3. Contrôleur

Le contrôleur, ou controller, est l’élément qui contient la logique métier. C’est ici que sont la
plupart des algorithmes, calculs, etc. C’est aussi l’intermédiaire principal entre la vue et le
modèle. Par exemple, la vue soumet un formulaire au contrôleur, qui gère sa validation via du
code métier, et demande au modèle de faire des modifications dans la base de données.

3. CONNEXION A LA BASE DES DONNEES

Pour connecter une application Java à une base de données MySQL, nous devons connaître les
informations suivantes sur la base de données :

- Classe Driver : la classe driver de la base de données MySQL est


[Link]. Elle permet d'établir la communication entre un
programme java et un système de gestion de bases de données
- URL de connexion : l’URL de connexion pour la base de données MySQL est
jdbc:mysql://localhost:3306/gestionEcole où jdbc est l’API, mysql est le
SGBD, localhost est le nom du serveur sur lequel MySQL s’exécute, 3306 est le numéro
de port, gestionEcole est le nom de la base de données. Nous pouvons également utiliser
l’adresse IP à la place de localhost au cas où notre application fonctionnera sur un réseau
(client-serveur).
- Username : le nom d’utilisateur par défaut de la base de données MySQL est root.
- Password : il s’agit du mot de passe donné par l’utilisateur lors de l’installation de la
base de données MySQL.
22

import [Link];
import [Link];

public class JavaDb {


static Connection conn;
static String driver = "[Link]";
static String url = "jdbc:mysql://localhost/gestionEcole";
static String uname="root";
static String pass = "";

public static Connection getConnection() throws Exception{


if(conn==null){
conn = [Link](url, uname, pass);
}
return conn;
}
}

Vous aimerez peut-être aussi