0% ont trouvé ce document utile (0 vote)
27 vues52 pages

Développement d'applications Java en POO

Ce document présente un cours sur le développement d'applications en Java, abordant les fondamentaux de la programmation, la programmation orientée objet, et les bases de données. Il détaille également les API pour la création d'interfaces graphiques, notamment AWT, Swing, JavaFX et SWT, en mettant en avant leurs caractéristiques, avantages et inconvénients. Enfin, il explique l'architecture MVC et la gestion des événements dans les applications Java.

Transféré par

mouaad.rhriby
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)
27 vues52 pages

Développement d'applications Java en POO

Ce document présente un cours sur le développement d'applications en Java, abordant les fondamentaux de la programmation, la programmation orientée objet, et les bases de données. Il détaille également les API pour la création d'interfaces graphiques, notamment AWT, Swing, JavaFX et SWT, en mettant en avant leurs caractéristiques, avantages et inconvénients. Enfin, il explique l'architecture MVC et la gestion des événements dans les applications Java.

Transféré par

mouaad.rhriby
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

Université Abdelmalek Essaâdi

Faculté des Sciences de Tétouan


Département Informatique

Licence IIDL / S5 :
Ingénierie Informatique et Développement Logiciel

Développement d’applications en
Java
PR . A BD O U N OTM A N
D É PA RT E ME NT I N F O RMAT IQ UE , FA CU LT É D E S S CI E N CE S
U N I V E RSIT É A BD E L MA L E K E S S A Â D I, T É TO U A N
All ressources in GITHUB
HTTPS://[Link]/ABDOUNOTMAN-JAVA/DEVAPPJAVA
Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA
Plan du cours :
Développement d’applications en Java
Élément 1 : Fondamentaux et POO en Java Élément 2 : Intégrité de Base de données
✓ Introduction à Java et à l'environnement de développement. ✓ Connexion d’une application Java à une base de données
✓ Fondamentaux de la programmation Java (JDBC)

✓ Programmation Orienté objet en Java ✓ Requêtes SQL en Java

✓ Collections Java (List, Set, Map) et leurs applications ✓ Transactions et sécurité (SQL Injection, PreparedStatement).

✓ Manipulation de fichiers
✓ Gestion des erreurs et des exceptions

Élément 3 : Application Java en Swing/AWT


✓ Concepts des interfaces graphiques (événements, écouteurs).
✓ Découverte de Swing et AWT : composants de base (boutons,
menus, tableaux).
✓ Gestion des événements utilisateur.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 3
Élément 3 :
Application Java en
Swing/AWT
• I N T E R FA C E G R A P H I Q U E - G U I
• LES COMPOSANTS SWING

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 4
Chapitre 6 : Interface graphique - GUI

Introduction au GUI
✓ Une interface graphique est un outil permettant d’interagir avec un programme
informatique.
✓ C’est un objet très complexe qui est à l’interface de nombreux aspects .
✓ La plupart des langages disposent de bibliothèques pour prendre en charge une partie de
cette complexité.
✓ Le programmeur doit simplement penser aux éléments graphiques à mettre en place (cadre,
menu, boutons).
✓ Il doit également penser au fond de son programme
c’est-à-dire les traitements qu’il doit faire.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 5
Chapitre 6 : Interface graphique - GUI

Programmation évènementielle

✓ Parmi les styles de programmation :


Programmation séquentielle

Programmation pilotée par


une boucle d’évènements
Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 6
Chapitre 6 : Interface graphique - GUI

Modèle MVC
✓ La Programmation par événements se base sur :
✓ Envoi de signaux
✓ Un contrôleur s’occupe d’envoyer les signaux au bon
destinataire

✓ L’architecture Modèle - Vue - Contrôleur s’articule


sur :
✓ Signaux : Ils sont déclenchés par des instances extérieurs
au programme (clique de l’utilisateur, branchement d’un
périphérique, . . .).
✓ Vue : Compose l’interface utilisateur, ainsi les Différents
éléments d’interaction (bouton, champs de texte,
labels,...)

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 7
Chapitre 6 : Interface graphique - GUI

Modèle MVC
✓ MVC est un patron de conception (Design pattern) qui
représente une architecture logicielle (une manière
de structurer une application ou un ensemble de
logiciels) :
✓ MVC permet d’organiser, structurer une application
interactive en séparant :

✓ Les données et leurs traitements : Le Modèle

✓ La représentation des données : La Vue

✓ Le comportement de l’application : Le Contrôleur

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 8
Chapitre 6 : Interface graphique - GUI

API : Créer des interfaces graphiques


✓ En Java, plusieurs API (Application
Programming Interfaces) permettent de
créer des interfaces graphiques
(GUI - Graphical User Interface).

✓ Ces API se distinguent selon leur


génération, leurs fonctionnalités et leur
intégration avec le système d’exploitation
ou le Web.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 9
Chapitre 6 : Interface graphique - GUI

API : AWT (Abstract Window Toolkit)


✓ L'AWT (Abstract Window Toolkit) est historiquement la première API dédiée pour le
développement des interfaces graphique en Java dès le JDK 1.0 (ancienne terminologie
pour parler du Java SE).

✓ La contrainte de l'AWT, ou l'avantage (c'est à double tranchants), c'est que Java fait appel au
système d'exploitation pour afficher les composants graphiques.

✓ Pour cette raison, l'affichage de l'interface utilisateur d'un programme peut diverger
sensiblement : effectivement, chaque système d'exploitation dessine à sa manière ses
différents éléments graphiques (bouton, zone de texte, ...).

✓ AWT ne contient que des composants graphiques qui existent sur tous les OS.

✓ AWT est une librairie relativement pauvre, comparativement aux autres qui vont vous être
présentées ci-dessous.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 10
Chapitre 6 : Interface graphique - GUI

API : AWT (Abstract Window Toolkit)


Introduction : Java 1.0
Package principal : [Link].*
Description :
▪ AWT est la première bibliothèque graphique standard de Java. Elle repose sur les
composants natifs du système d’exploitation (Windows, macOS, Linux…).
▪ C’est une API bas-niveau : simple, mais peu flexible.
Avantages :
▪ Intégration native avec l’OS (look & feel authentique)
▪ Bonne compatibilité rétroactive
▪ Solide pour des applications simples
Inconvénients :
▪ Peu de composants modernes
▪ Difficulté de personnalisation

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 11
Chapitre 6 : Interface graphique - GUI

API : Swing
✓ L'API Swing est une librairie de mise en œuvre d'interfaces graphiques a été intégrée dans
l'environnement Java SE depuis sa version 1.2 (anciennement JDK 1.2).

✓ L'approche Swing est différente : une application doit fonctionner et se présenter à


l'identique, ce qu'elle que soit la plate-forme considérée.

✓ Pour ce faire, ce n'est plus l'OS qui va pixeliser les différents éléments graphiques de vos
IHM, mais bien l'API Java Swing.

✓ Donc un point très positif à utiliser Swing réside dans la richesse des composants proposés
(en nombre, largement supérieur à ceux proposés par la librairie AWT).

✓ Un autre point positif réside dans le fait que Swing ne vous propose pas un unique look
graphique : vous en avez plusieurs et ce nombre augmente progressivement (Look Nimbus,
Look Metal, …).

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 12
Chapitre 6 : Interface graphique - GUI

API : Swing
Introduction : Java 1.2
Package principal : [Link].*
Description :
▪ Swing est une API graphique plus évoluée qu’AWT.
▪ Contrairement à AWT, Swing ne dépend pas du système d’exploitation — elle dessine tout
en Java (lightweight components).
Avantages :
▪ Grand nombre de composants (boutons, tableaux, listes, arbres…)
▪ Personnalisable via Look and Feel
▪ Bonne portabilité
▪ Compatible avec AWT
Inconvénients :
▪ Performance inférieure à JavaFX pour les graphismes modernes
▪ Interface vieillissante visuellement

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 13
Chapitre 6 : Interface graphique - GUI

API : JavaFX
✓ JavaFX est l'API Java pour développer des d'interface graphique pour des
applications : Desktop, Web, Smartphone & Tablettes.

✓ JavaFX est successeur de Swing et Awt, a apporté des améliorations à ces


bibliothèques.

✓ JavaFX est créé et développé par Sun → Oracle → OpenJFX

✓ JavaFX permet la génération des IHM via un outil interactif (Scene Builder)

✓ JavaFX porte de puissante fonctionnalités en décrivant l’interface dans un format


simplifié (XML), comme la séparation du logique et du design via un nouveau
langage FXML:
✓ les vues peuvent se définir via un formalisme XML (FXML), le code Java ne contenant
quasiment plus que les gestionnaires d'événements.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 14
Chapitre 6 : Interface graphique - GUI

API : JavaFX
Introduction : Java 8 (remplaçant moderne de Swing)
Package principal : javafx.*
Description :
▪ JavaFX est la technologie graphique la plus moderne pour Java SE.
▪ Elle permet de concevoir des interfaces riches, animées et adaptables avec
FXML (langage XML de description d’interface) et CSS pour le style.
Avantages :
▪ Support du binding de propriétés (données dynamiques)
▪ Style via CSS
▪ Support FXML (séparation logique / interface)
▪ Animation, multimédia et 3D
▪ Compatible avec les frameworks modernes (Spring Boot + JavaFX)
Inconvénients :
▪ Pas inclus par défaut dans Java 11+ (à installer séparément)
▪ Apprentissage plus complexe que Swing

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 15
Chapitre 6 : Interface graphique - GUI

API : SWT
✓ SWT (Standard Widget Toolkit) : une autre librairie de mise en œuvre
d'interfaces graphiques.

✓ SWT est proposée par le consortium Eclipse.

✓ SWT est très proche de Swing et propose plus ou moins les mêmes types
de composants graphiques.

✓ Tout comme Swing, SWT support la notion de look'n feel : C’est


possible d'affiner le look de vos applications en fonction de vos
préférences.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 16
Chapitre 6 : Interface graphique - GUI

API : SWT
Créé par : Eclipse Foundation
Package principal : [Link]..*
Description :
▪ SWT est une alternative à Swing/JavaFX développée pour l’environnement Eclipse.
▪ Elle utilise des composants natifs (comme AWT) mais reste très performante et
fluide.
Avantages :
▪ Performances excellentes
▪ Intégration native avec l’OS
▪ Utilisé dans Eclipse IDE
Inconvénients :
▪ Moins portable que JavaFX
▪ Dépendances natives (librairies externes)

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 17
Chapitre 6 : Interface graphique - GUI

API : AWT # SWING # JavaFX # SWT

API Époque Style Avantages clés Recommandée pour


AWT Années 1990 Natif OS Simplicité Démonstrations simples
Swing 2000s Pure Java Richesse de composants Applications classiques
JavaFX 2010s+ Moderne, CSS Richesse, modularité Projets modernes
SWT 2000s Natif performant Intégration Eclipse IDE et outils lourds

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 18
Élément 3 :
Application Java en
Swing/AWT
• I N T E R FA C E G R A P H I Q U E - G U I
• LES COMPOSANTS SWING

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 19
Chapitre 7 : Les composants Swing

Swing/AWT
✓ En Java, Swing fournit un ensemble de bibliothèques pour créer une interface graphique
(GUI), pour le faire fonctionner indépendamment sur différentes plates-formes.

✓ Swing est certainement celui qui est le plus utilisé, car ses propriétés de légèreté, contrôle et
de personnalisation facile.

✓ Avant Swing, AWT(Abstract Windowing Toolkit) est celui qui permet de créer différentes
interfaces graphiques.

✓ Cependant, en raison de ses inconvénients sur la plate-forme, lourd et peu de composants, il


a été remplacé par Java Swing, qui est intégré au package AWT.

✓ Certains composants AWT restent en Java et dans certaines situations en utilisant des
packages AWT.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 20
Chapitre 7 : Les composants Swing

Les composants d’une interface GUI


✓ Les composants top-level possèdent un content pane qui contient tous les
composants visibles d’une interface.
✓ Un composant top-level peut contenir une barre de menu.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 21
Chapitre 7 : Les composants Swing

JFrame
✓ Dans Java Swing, la plupart des applications seront construites à l’intérieur d’un composant
de base appelé JFrame, qui crée une fenêtre pour contenir d’autres composants.
✓ La fonction setDefaultCloseOperation indique au frame quoi faire lorsque l’utilisateur ferme le
frame et JFrame.EXIT_ON_CLOSE; sortir quant l’utilisateur ferme le frame.
✓ setSize définit la taille du frame avec les paramètres (largeur et hauteur).
✓ La fonction setVisible et avec le paramètre « true », pour afficher l’interface GUI.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 22
Chapitre 7 : Les composants Swing

JPanel
✓ JPanel est un conteneur pour stocker différents composants.

✓ JPanel offre une meilleure organisation des composants,


de diverses dispositions.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 23
Chapitre 7 : Les composants Swing

Layout Manager
✓ Une difficulté classiquement rencontrée lors de la mise en œuvre
d'interfaces graphiques réside dans le fait de correctement
positionner les différents composants graphiques dans une zone
afin d'obtenir une sensation d'équilibre dans l'IHM (l'interface
graphique).
✓ Pour répondre à ces besoins, et pour automatiser les calculs de
positionnement et de retaillage, les librairies AWT et Swing
utilisent le concept commun de « Layout Manager »
✓ Layout Manager : Gestionnaires de positionnement, il existe
plusieurs classes de Layout Managers, chacune d'elle possédant sa
propre logique de positionnement des éléments (positionnement en
lignes, en grille, ...).
✓ La méthode setLayout. Permet d’appliquer stratégie de placement.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 24
Chapitre 7 : Les composants Swing

Layout Manager
✓ FlowLayout : pour organiser les composants ligne par ligne, les uns après
les autres (dans un flux). Il s’agit de la disposition par défaut de l’applet ou
du panneau.

✓ GridLayout : pour organiser les composants en grille rectangulaire. Un


composant est affiché dans chaque rectangle.

✓ BorderLayout est utilisé pour organiser les composants dans cinq régions:
nord, sud, est, ouest et centre. Chaque région (zone) peut contenir un seul
composant. Il s’agit de la disposition par défaut du frame ou de la fenêtre.
BorderLayout fournit cinq constantes pour chaque région.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 25
Chapitre 7 : Les composants Swing

Layout Manager
✓ BoxLayout : pour organiser les composants verticalement ou
horizontalement.

✓ GridBagLayout : est l’un des gestionnaires de mise en page les plus


flexibles et complexes fournis par la plate-forme Java. GridBagLayout
place les composants dans une grille de lignes et de colonnes, puis utilise
les tailles préférées des composants pour déterminer la taille des cellules.

✓ GroupLayout : regroupe ses composants et les place hiérarchiquement


dans un conteneur. Le regroupement est effectué par des instances de la
classe Group.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 26
Chapitre 7 : Les composants Swing

SetBounds() (without a Layout Manager)


✓ Les gestionnaires de disposition (Layout Managers) sont
utilisés pour décider automatiquement de la position et de la
taille des composants ajoutés.

✓ En l’absence d’un gestionnaire de disposition, la position et


la taille des composants doivent être définies manuellement.

✓ La méthode setBounds() est utilisée dans une telle situation


pour définir la position et la taille.
setBounds(int x, int y, int width, int height)

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 27
Chapitre 7 : Les composants Swing

JLabel
✓ JLabel est une zone pour afficher une chaîne courte ou une image ou les deux.
✓ Pour la position du label, elle pourrait être spécifiée par :
✓ [Link] (gauche),
✓ [Link] (centre),
✓ [Link] (droite).

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 28
Chapitre 7 : Les composants Swing

JTextField
✓ JTextField permet de modifier une seule ligne
de texte.
✓ JPasswordField est un composant texte
spécialisé pour la saisie de mot de passe.
✓ JTextArea représente une zone sur plusieurs
lignes qui affiche/édite du texte.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 29
Chapitre 7 : Les composants Swing

JButton
✓ JButton est un composant Boutton de Java
Swing. C’est possible de le configurer pour
avoir différentes actions, en utilisant event
listener.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 30
Chapitre 7 : Les composants Swing

Event & Listener


Classes Events Interfaces Listeners Description
✓ Event : La modification de l’état d’un objet, exp: ActionEvent ActionListener Recevoir les événements d’action
MouseEvent MouseListener Recevoir les événements de souris
cliquez sur le bouton, glisser la souris, ... KeyEvent KeyListener Recevoir les événements des touches
ItemEvent ItemListener Recevoir les événements d’élément
✓ Le package [Link] fournit de nombreuses TextEvent TextListener Recevoir les événements de texte
AdjustmentEvent AdjustmentListener Recevoir les événements d’ajustement
classes d’Events et interfaces de Listeners pour la WindowEvent WindowListener Recevoir les événements de l’objet window
ComponentEvent ComponentListener Recevoir les événements des composants
gestion des événements. ContainerEvent ContainerListener Recevoir les événements de conteneur

✓ Pour enregistrer un Listener sur un composant, il faut appliquer une des méthodes d’enregistrement:
✓ Classe Button : public void addActionListener ( ActionListener a ) { …. }
✓ Classe TextArea : public void addTextListener ( TextListener a ) { …. }
✓ Classe Checkbox : public void addItemListener ( ItemListener a ) { …. }
✓ Classe MenuItem : public void addActionListener ( ActionListener a ) { …. }
✓ Classe TextField : public void addTextListener ( TextListener a ) { …. }
Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 31
Chapitre 7 : Les composants Swing

Event & Listener


MOUSELISTENER KEYLISTENER

▪MouseListener est notifie en chaque modification ▪KeyListener est notifie en chaque modification de
l’état de la souris. Il est notifié contre MouseEvent. l’état d’une touche. Il est notifié contre KeyEvent.
▪L’interface MouseListener dupackage [Link]
admet cinq méthodes de : ▪Les trois méthodes de l’interface KeyListener du
▪ mouseClicked (MouseEvent e) package [Link]:
▪ mouseEntered (MouseEvent e) ➢ keyPressed (KeyEvent e)
▪ mouseExited (MouseEvent e) ➢ keyReleased (KeyEvent e)
▪ mousePressed (MouseEvent e) ➢ keyTyped (KeyEvent e)
▪ mouseReleased (MouseEvent e)

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 32
Chapitre 7 : Les composants Swing

JTextField : KeyListener
✓ JTextField est un composant Swing qui accepte un objet Listener (KeyListener).
✓ Exemple : Empêcher l’utilisateur de saisir des caractères non numérique dans un JTextField.

Plus KeyListner sur : [Link]

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 33
Chapitre 7 : Les composants Swing

JButton : ActionListener
✓ Java ActionListener est notifie à chaque fois que vous
cliquez sur le bouton. Il est notifié contre ActionEvent.

✓ L’interface ActionListener, du package [Link], a


une seule méthode actionPerformed(). La méthode
actionPerformed() est déclenchée automatiquement chaque
fois que vous cliquez sur le bouton.

✓ Pour ajouter un ActionListener à un Jbutton, il faut placer


le code dans la méthode actionPerformed de la classe
ActionListener à exécuter lorsque le bouton est cliqué.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 34
Chapitre 7 : Les composants Swing

JButton : ActionListener
✓ Il existe plusieurs façons d’Implémenter cela:
✓ Implémenter-le dans le bloc addActionListener,
✓ Demander à la classe d’implémenter un ActionListener,
✓ Créer une autre classe en tant que ActionListener.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 35
Chapitre 7 : Les composants Swing

JSpinner
✓ JSpinner contient une seule ligne
d’entrée qui peut être un nombre ou
un objet d’une séquence ordonnée.
✓ L’utilisateur peut saisir
manuellement des données dans le
champ de texte du spinner.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 36
Chapitre 7 : Les composants Swing

JSlider
✓ JSlider permet à l’utilisateur de
sélectionner une valeur en faisant
glisser le bouton en fonction de la
valeur limitée.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 37
Chapitre 7 : Les composants Swing

JRadioButton
✓ JRadioButton est un bouton radio qui
peut être sélectionné ou désélectionné. À
utiliser avec l’objet ButtonGroup pour
créer un groupe de boutons, dans lequel
un seul bouton peut être sélectionné à
la fois.
✓ La récupération est fait par :
[Link]("ValueI");
[Link]().getActionCommand()

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 38
Chapitre 7 : Les composants Swing

JComboBox
✓ JComboBox permet de
sélectionner une valeur dans une
liste déroulante. Vous pouvez
choisir un et un seul élément dans
la liste.

✓ La récupération est fait par :


[Link]().toString()

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 39
Chapitre 7 : Les composants Swing

JCheckBox
✓ JCheckBox est utilisé pour créer une case à
cocher, dont plusieurs cases à cocher
peuvent être sélectionnées en même temps.
✓ La méthode pour définir l’état :
[Link](boolean)
✓ La méthode pour obtenir l’état :
[Link]() qui renvoie une
valeur booléenne.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 40
Chapitre 7 : Les composants Swing

JTable
✓ JTable est utilisé pour créer des
tables bidimensionnelles. La table
peut afficher des données à
l’intérieur. En plus, l’utilisateur peut
également modifier les données.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 41
Chapitre 7 : Les composants Swing

Jtable from DB
✓ Remplir une JTable à partir d’une
table (inscription) de la Base de
données (dbemploye).

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 42
Chapitre 7 : Les composants Swing

Jtable : Recherche dynamique


✓ Rechercher dynamique des mots dans un JTable en utilisant RowFilter pour filtrer
les résultats de la recherche.

setRowFilter(RowFilter( " …… " )) ;

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 43
Chapitre 7 : Les composants Swing

Jtable : Supprimer une ligne


✓ Ajouter ou intégrer un bouton supprimer pour chaque ligne d’un JTable dans une
cellule en personnalisant le code dans DefaultTableModel .

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 44
Chapitre 7 : Les composants Swing

Jtable : Supprimer une ligne


✓ supprimer une ligne sélectionnée d’un JTable en utilisant la méthode
removeRow() de la classe DefaultTableModel.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 45
Chapitre 7 : Les composants Swing

Jtable : Ajouter une ligne


✓ Ajouter des lignes dynamiquement dans un JTable lors d’un événement de clic sur
le bouton « + Add ».

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 46
Chapitre 7 : Les composants Swing

Jtable : Modifier une ligne


✓ Mettre à jour une ligne dans JTable lors d’un événement de clic sur le bouton « Update ».

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 47
Chapitre 7 : Les composants Swing

Jtable : Exporter en Excel


✓ Utiliser les valeurs séparées par des tabulations (TSV – Tab-Separated Values) afin de
transférer des informations du JTable vers une feuille de calcul Excel.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 48
Chapitre 7 : Les composants Swing

JMenu
✓ JMenu permet de créer un menu
déroulant.
✓ Comme, le menu Fichier, avec un sous-
menu Nouveau, Ouvrir, Enregistrer et le
menu Édition et en fin le menu Aide.

Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 49
Chapitre 7 : Les composants Swing

LookAndFeel : Apparence des Applications


✓ Swing permet de personnaliser l’interface graphique en
changeant l’apparence (L&F) :
✓ Look définit l’apparence générale des composants
✓ Feel définit leur comportement. LookAndFeel="[Link]";

✓ Les L&F sont des sous-classes de la classe


LookAndFeel et chaque L&F est identifié par son nom
de classe complet.
✓ Par défaut, le L&F est réglé sur Metal.
LookAndFeel="[Link]";
✓ Pour définir le L&F : appeler la méthode
setLookAndFeel() de la classe UIManager. L’appel à
setLookAndFeel doit être effectué avant l’instanciation
d’une classe Java Swing, sinon le Swing L&F par
défaut sera chargé.
LookAndFeel="[Link]";
Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 50
Pour toutes informations ou supports pédagogiques, veuillez
consulter le Google Classroom dédié :
[Link]
Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA 51
All ressources in GITHUB
HTTPS://[Link]/ABDOUNOTMAN-JAVA/DEVAPPJAVA
Pr. Otman ABDOUN - Département Informatique LICENCE IIDL / S5 : DÉVELOPPEMENT D’APPLICATIONS EN JAVA

Vous aimerez peut-être aussi