0% ont trouvé ce document utile (0 vote)
10 vues31 pages

Cours Complet de Développement JavaFX

Transféré par

ndiayeaminataaidara
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)
10 vues31 pages

Cours Complet de Développement JavaFX

Transféré par

ndiayeaminataaidara
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

Cours de

JAVA
Concepts
● Modéliser un Besoin
● Architecture Multi-couche
● Structuration d’un projet Java
● Java Fonctionnel
● Java et les Bases de Donnés(JDBC,JPA)
● Utilisation JAVA FXML

Sujets de Veille
● POO vs Procedural
● Classe vs Objet
● Relation
○ Heritage
○ Polymorphisme
○ Bidirectionnelle ou Unidirectionnelle
■ OneToMany
■ ManyToMany
■ ManyToOne
■ OneToOne
○ agrégation
○ composition
Cours I
Durée: 4H
Projet Fil Rouge
L’Institut Supérieur de Management ISM fait appel à vous pour la
réalisation d’une application Desktop JavaFX de gestion des
inscriptions.
Chaque début d’année le Responsable Pédagogique peut créer,lister
des classes (libellé).Il a la possibilité aussi d’ajouter des professeurs et
leurs affectés des classes,lister les professeurs(Nci,nom complet,grade)
et filtrer les classes d’un professeur.
Les Attachés de classe font les inscriptions et les réinscriptions des
étudiants durant la période d' [Link] étudiant(matricule,nom
complet,tuteur) peut s'inscrire plusieurs fois mais une seule fois dans
une année.
Un Attaché a la possibilité de lister les étudiants inscrits dans une
année,de filtrer cette liste par classe et année.
I) Modélisation (2H)
● Diagramme Use Case
● Diagramme de Classe
● MLD
● Créer la Base de donnée
II) Installation des outils (1H30)
● Installation du JDK 8
● Installation de NetBeans
● Création de la structure du projet JAVA
○ Package views qui va contenir les vue de l’application
qui seront réalisés avec du FXML
○ Package services qui va contenir les
fonctionnalités(use case) de notre application
○ Package dao(Data Access Object) qui va contenir les
fonctionnalités d'accès à la Base de donnée
○ Package entities qui va contenir les classes model
de notre application
NB:
○ Package exercices
Lien de Téléchargement des outils:
[Link]
_6QkSmfuO?usp=sharing
Cours II
[Link]
Services Entities Dao Tables
connexion User UserDao user

[Link]éation de la couche Model


a. Identification des classes Modèles à partir du diagramme de
classe
b. Concepts
i. Classe
ii. Interface
iii. Relation
1. Heritage
2. Bidirectionnelle/Unidirectionnelle
a. OneToMany
b. ManyToOne
c. OneToOne
d. ManyToMany
c. Réalisation du Diagramme de classe
3. Création de la couche dao
a. Identification des classes fonctionnalités d'accès BD
i. UserDao
1. findLoginAndPassword()
ii. ClasseDao
1. insert()
2. update()
3. delete()
4. findAll()
5. findById(
iii. ProfesseurDao
1. insert()
2. findAll()
3. findByNci()
4. findById()
iv. AffectationDao
1. insert()
2. findByProfesseur()
v. EtudiantDao
1. insert()
2. findByMatricule()
3. findByAnnee()
4. findByAnneeAndClasse()
vi. InscriptionDao
1. insert()
b. Définition de l’interface Générique IDAO
c. Implémentation des classes Dao
[Link]éation de la couche service
a. Identification des classes fonctionnalités à partir des use
case
i. inscription(Etudiant etu,Classe classe,String annee);
ii. ajouterClasse(Classe cl);
iii. listerClasse();
iv. modifierClasse(Classe cl);
v. listerInscristUneClasse(int idClasse,String annee);
vi. ajouterProfesseur(Professeur prof);
vii. listerProfesseur();
viii. affecter(Professeur prof,List<Classe> classes,String annee);
ix. listerClasseUnProfesseur(int idProf,String anne);
x. connexion(String login,String password);
xi. listerAnneeScolaire();
xii. rechercherClasseParLibelle(String libelle);
xiii. rechercherProfesseurParNci(String nci);
xiv. rechercherEtudiantParMatricule(String matricule);
xv. listerInscristAnne(String annee);

b. Définition de l’interface IService


c. Implémentation la classe Service
d. Réalisation des fonctionnalités du Service
Cours III
[Link]ès Base de Donnée avec JDBC
a. Présentation de JDBC

b. Installation de JDBC
i. Télécharger le jar
ii. Ajouter le jar dans le dossier lib
c. Étapes pour Exécuter une requête avec JDBC

i. Chargement du Driver
ii. Établir une Connexion à la BD
iii. Preparation et Execution d’une Requete
1. Requête Select
2. Requête d’insertion
3. Récupération de l’identifiant Généré après insertion

4. Requête paramétrée
2.Réalisation des classes Acces aux donnee s
a. Réaliser la classe MysqlBD qui contient les fonctions:
i. ouvrirConnexion()
ii. preparerRequete()
iii. executeMisAJour()
iv. executeSelect()
v. closeConnexion()
b. Réaliser des méthodes dao
Cours IV
1. Presentation Java FXML
a. Installations des outils
i. SceneBuilder
ii. Jfoenix
iii. Font Awesome Icon

Lien de Téléchargement des outils:


[Link]
_6QkSmfuO?usp=sharing
b. Les Composants FX
i. Stage,Scène
Exemple de Graphe de Scène
2. Installation des Plugins Java FXML

a. SceneBuilder
b. Jfoenix
c. Font Awesome Icon
3. Intégration des vues de l’application
a. Charte Graphique
i. #2D3447 : Background
ii. #ef5350 : Rouge
iii. #ffd740 : warning
iv. #a0a2ab: Police
v. #2196f3 : Background button
vi. #151928 : Background button
vii. #33b86c : Vert
b. Intégration des views
i. Accueil
ii. Inscription

iii. Connexion
iv. Professeur

v. Classe

c. Rendre dynamique les views


i. Changer de view
[Link]().getWindow().hide();
AnchorPane root;
root = [Link](getClass().getResource("[Link]"));
Scene scene = new Scene(root);
Stage stage=new Stage();
[Link](scene);
[Link]();

ii. Chargement d’une vue


AnchorPane root;
root=[Link](getClass().getResource("[Link]"));
[Link]().clear();
[Link]().add((Node)root);

iii. Chargement d’un ComboBox

1. Initialisation
ComboBox<User> cbx;
[Link](ObservableList<Profil>));

2. Récupérer l’élément sélectionné


User u=[Link]().getSelectedItem()
iv. Alert
1. Alert d’Information
Alert alert=new Alert([Link]);
[Link]("Utilisateur Enregistré avec succès");

2. ∙Alert de Confirmation
Alert alert=new Alert([Link]);
[Link]("Voulez Supprimer cette Utilisateur?");
Optional<ButtonType> result = [Link]();
if ([Link]() == [Link]){
//Traitement
}

v. Chargement d’un TableView


1. Initialisation
private TableView< > tblvUser;
private TableColumn<User, String> tblcId;
2. Chargement d’une colonne
[Link](new PropertyValueFactory<>("id"));
3. Chargement d’une TableView
[Link](ObservableList<User>);
4. Sélection d’une ligne de la TableView
User user=[Link]().getSelectedItem();

Cours V
1. Réalisation des fonctionnalités de la vue connexion
a. Validation des champs
b. fonctionnalités de Connexion
i. Dao
ii. Service
c. Chargement de Page Home
2. Réalisation des fonctionnalités de la vue Home
a. Chargement des vues à partir du menu
b. Chargement du comboBox Année Scolaire
3. Réalisation des fonctionnalités de la vue Classe
a. Chargement de la vue
b. Lister les Classe
i. Chargement de la TableView
c. Ajout de Classe
i. Validation des champs
ii. Vérification de l’unicité du login
iii. fonctionnalités d' Ajout
d. Modifier une Classe
i. Edition des Données d’une Classe
ii. Validation des champs
iii. Vérification de l’unicité du login
iv. fonctionnalités de modification
4. Suppression d'une Classe
a. Edition des Données d’une Classe
b. fonctionnalités de suppression
Cours VI
5. Réalisation des fonctionnalités d’inscription
a. Lister les Étudiants inscrits de l'année en cours
i. Charger la Tableview
b. Charger le combo classe
c. Validation des Champs
d. Valider unicité du Matricule
e. Faire Inscription
f. Faire Réinscription
i. Sélection Etudiant
ii. Rechercher un étudiant par son matricule
iii. enregistrer la réinscription
g. Filtrer les inscrits par classe et année
6. Réalisation des fonctionnalités d’Affection de
Professeur
a. Lister les Professeur
b. Charger la Tableview
c. Charger le combo Classe
d. Validation des Champs
e. Valider unicité du Nci
f. Faire L’affectation de Classe
i. Charger TableView Classe Affectée
7. Enregistrer Nouveau Professeur
a. Enregistrer le Professeur
b. Enregistrer ses Classes affectées
8. Faire l’affection de Nouvelles classes
a. Sélection Professeur
b. Rechercher un Professeur par son nci
c. Enregistrer ses Classes affectées

Vous aimerez peut-être aussi