Interfaces Graphiques
1
2022-2023
Introduction
AWT
Gestion des Evènements
Swing
2
Les programmes informatiques nécessitent une interaction avec leurs
utilisateurs pour :
Entrée des données par l’utilisateur au moment de l’exécution
Affichage d’une partie des résultats obtenus par le traitement informatique
Cet échange d’informations peut s’effectuer avec console ou en mode
graphique
3
Interfaces Graphiques
I- Introduction
Une interface graphique (GUI) est formée d’une ou plusieurs fenêtres qui
contiennent divers composants graphiques (widgets) tels que :
Boutons
Listes déroulantes
Menus
Champ texte
4
Interfaces Graphiques
I- Introduction
Pour créer des interfaces graphiques Java propose des API
AWT
Swing
SWT ( Pour Crée par IBM pour Eclipse )
JFace
5
I- Introduction
Interfaces Graphiques
II- API AWT(Abstract Window Toolkit)
6
Interfaces Graphiques
Java AWT (Abstract Window Toolkit) est une API permettant de développer
des applications GUI sous java.
Les composants Java AWT dépendent de la plate-forme, c'est-à-dire que les
composants sont affichés en fonction de la vue du système d'exploitation.
AWT est lourd, par ce que ses composants utilisent les ressources du
système d'exploitation.
7
II- AWT
Interfaces Graphiques
II- AWT
8
1- Hiérarchie des classes
Interfaces Graphiques
II- AWT
9
1- Hiérarchie des classes
Interfaces Graphiques
II- AWT
10
2- Composant de la fenêtre
Interfaces Graphiques
II- AWT
Les Principales méthodes de la classe component
11
3- Ma première fenêtre
Method
Description
public
void add(Component c)
Ajoute un
composant dans un autre
public
void setSize(int larg,int haut)
Change la largeur
et la hauteur
public void setLayout(LayoutManager m)
Définie
layout manager pour un composant
public
void setVisible(boolean status)
Change la visibilité d’un composant
(par défaut false)
public void
setBounds(int x, int y, int la, int haut
)
Change les position (
x,y) , la largeur
et la hauteur d’un
composant
Interfaces Graphiques
II- AWT
Héritage de la classe Frame
12
3- Ma première fenêtre
Interfaces Graphiques
II- AWT
Instanciation de la classe Frame
13
3- Ma première fenêtre
Interfaces Graphiques
II- AWT
14
3- Ma première fenêtre
Création des composants
Interfaces Graphiques
II- AWT
15
3- Ma première fenêtre
Création des composants
Interfaces Graphiques
II- AWT
16
3- Ma première fenêtre
Création des composants
Interfaces Graphiques
II- AWT
Ajouter tous les composants créés dans la fenêtre
17
3- Ma première fenêtre
Interfaces Graphiques
II- AWT
Personnaliser votre fenêtre
18
3- Ma première fenêtre
Interfaces Graphiques
II- AWT
Le Panel est une classe de conteneur la plus simple. Il fournit un espace dans lequel une
application peut attacher n'importe quel autre composant.
19
4- Utilisation de Panel
Interfaces Graphiques
II- AWT
Les étapes pour créer un Menu
20
5- Les Menus
Créer une barre des menus
Créer un Menu
Créer les éléments de menu
Ajouter les éléments de menu au
Menu
Ajouter le Menu créé dans la
barre de menu
Ajouter barre de menu à la fenêtre
MenuBar barre=new MenuBar();
Menu menu1=new Menu("Fichier");
MenuItem i1=new MenuItem("Nouveau");
MenuItem i2=new MenuItem("Ouvrir");
MenuItem i3=new MenuItem("Enregistrer");
menu1.add(i1);
menu1.add(i2);
menu1.add(i3);
barre.add(menu1);
fen.setMenuBar(barre);
Interfaces Graphiques
II- AWT
Sous-menu
21
5- Les Menus
Interfaces Graphiques
III- Gestions des événements
22
Interfaces Graphiques
III- Gestions des événements
Pour gérer les événements et les actions Java dispose de plusieurs interface nommées
Listeners (écouteurs) :
ActionListener
MouseListener
MouseMotionListener
ItemListener
KeyListener
TextListener
WindowListener
23
public void actionPerformed(ActionEvent e);
public void mouseClicked(MouseEvent e);
public void mouseEntered(MouseEvent e);
public void mouseExited(MouseEvent e);
public void mousePressed(MouseEvent e);
public void mouseReleased(MouseEvent e);
public abstract void mouseDragged(MouseEvent e);
public abstract void mouseMoved(MouseEvent e);
public void itemStateChanged(ItemEvent e);
public void keyPressed(KeyEvent e);
public void keyReleased(KeyEvent e);
public void keyTyped(KeyEvent e);
Public TextValueChanged(TextEvent e)
public void windowActivated(WindowEvent e);
public void windowClosed(WindowEvent e);
public void windowClosing(WindowEvent e);
public void windowDeactivated(WindowEvent e);
public void windowDeiconified(WindowEvent e);
public void windowIconified(WindowEvent e);
public void windowOpened(WindowEvent e);
1- Interfaces des écouteurs « Listeners»
Interfaces Graphiques
III- Gestions des événements
Pour gérer les événements et les actions Java, il faut suivre 3 étapes
1) Implémenter l’interface selon l’événement
Exemple : public class Test implements ActionListener {}
2) Enregistrez le composant auprès de Listener (Ecouteur)
Exemple : bouton1.addActionListener(this)
3) Ecrire le code de la méthode déclenchée par l’événement
Exemple : public void actionPerformed(ActionEvent e){
System.out.print("Vous avez cliquer sur Bouton1");
}
24
2- Trois étapes à suivre
Interfaces Graphiques
III- Gestions des événements
25
3- Exemple 1 :
Interfaces Graphiques
III- Gestions des événements
26
3- Exemple 2 :
Interfaces Graphiques
III- Gestions des événements
27
3- Exemple 3 :
Interfaces Graphiques
IV- API Swing
28
Interfaces Graphiques
IV- Swing
29
L’API Swing est utilisée pour créer des applications basées sur des fenêtres. Il est
construit basant sur de l'API AWT. Elle est entièrement écrit en java.
Contrairement à AWT, Java Swing fournit des composants légers et indépendants de la
plate-forme.
Le package javax.swing fournit des classes pour l'API Swing telles que:
JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser ...
Interfaces Graphiques
IV- Swing
30
Interfaces Graphiques
IV- Swing
31
1- Méthodes plus Utilisées :
public void add(Component c)
public void
setSize(int width,int height)
public void
setLayout(LayoutManager m)
public void
setVisible(boolean b)
public void
setBounds(int x,int y, int width,int height)
Interfaces Graphiques
IV- Swing
32
2- Les Composants standards:
Interfaces Graphiques
IV- Swing
33
2- Les Composants standards:
a- Etiquette
JLabel()
JLabel(String s)
JLabel(Icon i)
JLabel(String s, Icon i, int horizontalAlignment)
Exemple
Interfaces Graphiques
IV- Swing
34
2- Les Composants standards:
b- Bouton
JButton()
JButton(String )
JButton(Icon i)
Exemple
Interfaces Graphiques
IV- Swing
35
2- Les Composants standards:
c- Zones de texte :
JTextField
JPasswordField
JTextArea
Interfaces Graphiques
IV- Swing
36
2- Les Composants standards:
c- Zones de texte :
JTextPane JEditorPane
Interfaces Graphiques
IV- Swing
37
2- Les Composants standards:
d- Case à cocher
JCheckBox()
JChechBox(String s)
JCheckBox(String text, boolean selected)
Exemple
Interfaces Graphiques
IV- Swing
38
2- Les Composants standards:
e- Bouton radio
JRadioButton()
JRadioButton(String s)
JRadioButton (String text, boolean selected)
Exemple
Interfaces Graphiques
IV- Swing
39
2- Les Composants standards:
f- Les listes : JComboBox
JComboBox()
JComboBox(Object[] items)
JComboBox(Vector<?> items)
Exemple
Interfaces Graphiques
IV- Swing
40
2- Les Composants standards:
g- Les listes: JList
JList()
JList(ary[] listData)
JList(ListModel<ary> dataModel)
Exemple
Interfaces Graphiques
IV- Swing
41
2- Les Composants standards:
h- JSpinner
JSpinner()
JSpinner(SpinnerModel model)
Exemple
Interfaces Graphiques
IV- Swing
42
2- Les Composants standards:
i- Barre de défilement
JScrollBar()
JScrollBar(int orientation)
JScrollBar(int orientation, int value, int extent, int min, int max)
Exemple
Interfaces Graphiques
IV- Swing
43
2- Les Composants standards:
j- Glissière
JSlider()
JSlider(int orientation)
JSlider(int min, int max)
JSlider(int min, int max, int value)
JSlider(int orientation, int min, int max, int value)
Exemple
Interfaces Graphiques
IV- Swing
44
2- Les Composants standards:
k- Barre de progression
JProgressBar()
JProgressBar(int min, int max)
JProgressBar(int orient)
JProgressBar(int orient, int min, int max)
Exemple
Interfaces Graphiques
IV- Swing
45
2- Les Composants standards:
l- Tableau
JTable()
JTable(Object[][] rows, Object[] columns)
Exemple
Interfaces Graphiques
IV- Swing
46
3- Les conteneurs(panels):
JPanel est une classe de conteneur la plus simple. Il fournit un espace dans lequel une
application peut attacher n'importe quel autre composant.
a- JPanel
Exemple
Interfaces Graphiques
IV- Swing
47
3- Les conteneurs(panels):
Un JscrollPane est utilisé pour créer une vue défilante d'un composant. Lorsque la taille de
l'écran est limitée, nous utilisons un volet de défilement pour afficher un grand composant
ou un composant dont la taille peut changer dynamiquement.
b- JscrollPane
Exemple
Interfaces Graphiques
IV- Swing
48
3- Les conteneurs(panels):
La classe JTabbedPane est utilisée pour passer d'un groupe de composants à un autre en
cliquant sur un onglet avec un titre ou une icône données.
c- JTabbedPane
Exemple
Interfaces Graphiques
IV- Swing
49
3- Les conteneurs(panels):
JSplitPane est utilisé pour diviser deux composantes. Les deux composants sont divisés en
fonction de l'aspect et de la convivialité de la mise en œuvre, et ils peuvent être
redimensionnés par l'utilisateur.
d- JSplitPane
Exemple
Interfaces Graphiques
IV- Swing
50
3- Les conteneurs(panels):
La classe JEditorPane est utilisée pour créer une simple fenêtre d'édition de texte. Cette
classe possède deux méthodes principales setContentType() et setText().
e- JEditorPane
Exemple
Interfaces Graphiques
IV- Swing
51
3- Les conteneurs(panels):
JTextPane est une sous-classe de la classe JEditorPane. JTextPane est utilisé pour les
documents stylisés avec des images et des composants intégrés.
f- JTextPane
Exemple
Interfaces Graphiques
IV- Swing
52
4- Les Boites de dialogue:
Il s'agit d'une Petite fenêtre pouvant servir à plusieurs choses :
Afficher une information (message d'erreur, d'avertissement…) ;
Demander une validation, une réfutation ou une annulation ;
Demander à l'utilisateur de saisir une information dont le système a besoin ;
Etc.
Le nom de la classe est : JOptionPane
Interfaces Graphiques
IV- Swing
53
4- Les Boites de dialogue:
Méthodes pour préciser le type de message
static void
showMessageDialog(Component parentComponent, Object message)
static
int showConfirmDialog(Component parentComponent, Object message)
static String
showInputDialog(Component parentComponent, Object message)
Exemple:
JOptionPane mess1=new JOptionPane();
mess1.showMessageDialog(null,"SalamoAlikoum\n Salut tout le monde \n Hi everybody.");
Interfaces Graphiques
IV- Swing
54
4- Les Boites de dialogue:
a- Les boîtes d'information
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType)
Interfaces Graphiques
IV- Swing
55
4- Les Boites de dialogue:
a- Les boîtes d'information
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType)
Interfaces Graphiques
IV- Swing
56
4- Les Boites de dialogue:
a- Les boîtes d'information
Pour personnaliser l’icone utiliser cette méthode :
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icone )
Exemple
Interfaces Graphiques
IV- Swing
57
4- Les Boites de dialogue:
b- Les boîtes de confirmation
Static int showConfirmDialog(parentComponent, message, title, int optionType, int messageType)
optionType peut être :
JOptionPane.YES_NO_CANCEL_OPTION
JOptionPane.YES_NO_OPTION
JOptionPane.DEFAULT_OPTION
Interfaces Graphiques
IV- Swing
58
4- Les Boites de dialogue:
b- Les boîtes de confirmation
Les valeurs renvoyées sont :
Valeur
Valeur int
JOptionPane.CLOSED_OPTION
-
1
JOptionPane.OK_OPTION
0
JOptionPane.NO_OPTION
1
JOptionPane.CANCEL_OPTION
2
Interfaces Graphiques
IV- Swing
59
4- Les Boites de dialogue:
c- Les boîtes de saisie(avec une champ de texte)
static String showInputDialog(Component parentComponent, Object message)
Interfaces Graphiques
Chapitre III: Interfaces Graphiques
IV- Swing
60
4- Les Boites de dialogue:
c- Les boîtes de saisie (avec une liste de choix)
static String showInputDialog(parentComponent, message, title, messageType, icon, selectionValues [],
initialSelectionValue)
Exemple
IV- Swing
61
4- Les Boites de dialogue:
d- les boîtes de dialogue personnalisées
Utilser pour cela la classe : JDialog
Exemple
Interfaces Graphiques
IV- Swing
62
4- Les Boites de dialogue:
e- Choisir une couleur (JColorChooser)
Constructeur
JColorChooser()
JColorChooser(color initialcolor)
Methode
static Color showDialog(Component c, String title, Color initialColor)
Exemple
Interfaces Graphiques
IV- Swing
63
4- Les Boites de dialogue:
f- Choisir un fichier(JFileChooser)
Constructeur
JFileChooser()
JFileChooser(File currentDirectory)
JFileChooser(String currentDirectoryPath)
Methode
int showOpenDialog(null);
int showSaveDialog(null);
Exemple
Interfaces Graphiques
IV- Swing
64
5- Les Menus:
Interfaces Graphiques
IV- Swing
65
7- L’arbre:JTree
Interfaces Graphiques
IV- Swing
66
10- Quelques trucs utiles:
Interfaces Graphiques
ELHOUSSAINE E-CHAJIAI
Gmail: chajiailhou@gmai.com
LinkedIn : https://www.linkedin.com/in/elhoussaine-e-14a9a3218/
67