0% ont trouvé ce document utile (0 vote)
188 vues69 pages

Interfaces Graphiques en Java

Ce document décrit les interfaces graphiques en Java. Il présente les API AWT et Swing pour créer des interfaces graphiques. Il explique également la gestion des événements avec les listeners en Java.

Transféré par

omar oukhouya
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
188 vues69 pages

Interfaces Graphiques en Java

Ce document décrit les interfaces graphiques en Java. Il présente les API AWT et Swing pour créer des interfaces graphiques. Il explique également la gestion des événements avec les listeners en Java.

Transféré par

omar oukhouya
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Module : Programmation sous Java

Interfaces Graphiques

C YC LE D’ING IN IEUR S :
GÉ NIE INF O RMATIQ UE

1
2022-2023 Pof. AZROUR MOURADE
Chapitre III: Interfaces Graphiques

 Introduction
 AWT
 Gestion des Evènements
 Swing

2
Chapitre III: Interfaces Graphiques
I- Introduction

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
Chapitre III: 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
Chapitre III: 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
Chapitre III: Interfaces Graphiques

II- API AWT(Abstract Window Toolkit)

6
Chapitre III: Interfaces Graphiques
II- AWT

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
Chapitre III: Interfaces Graphiques
II- AWT
1- Hiérarchie des classes

8
Chapitre III: Interfaces Graphiques
II- AWT
1- Hiérarchie des classes

9
Chapitre III: Interfaces Graphiques
II- AWT
2- Composant de la fenêtre

10
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Les Principales méthodes de la classe component

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

11
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Héritage de la classe Frame

12
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Instanciation de la classe Frame

13
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Création des composants

14
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Création des composants

15
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Création des composants

16
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Ajouter tous les composants créés dans la fenêtre

17
Chapitre III: Interfaces Graphiques
II- AWT
3- Ma première fenêtre

Personnaliser votre fenêtre

18
Chapitre III: Interfaces Graphiques
II- AWT
4- Utilisation de Panel

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
Chapitre III: Interfaces Graphiques
II- AWT
5- Les Menus

Les étapes pour créer un Menu


Créer une barre des menus MenuBar barre=new MenuBar();

Créer un Menu Menu menu1=new Menu("Fichier");

MenuItem i1=new MenuItem("Nouveau");


Créer les éléments de menu MenuItem i2=new MenuItem("Ouvrir");
MenuItem i3=new MenuItem("Enregistrer");

Ajouter les éléments de menu au menu1.add(i1);


Menu menu1.add(i2);
menu1.add(i3);

Ajouter le Menu créé dans la


barre.add(menu1);
barre de menu

20
Ajouter barre de menu à la fen.setMenuBar(barre);
fenêtre
Chapitre III: Interfaces Graphiques
II- AWT
5- Les Menus

Sous-menu

21
Chapitre III: Interfaces Graphiques

III- Gestions des événements

22
Chapitre III: Interfaces Graphiques
III- Gestions des événements
1- Interfaces des écouteurs « Listeners»

Pour gérer les événements et les actions Java dispose de plusieurs interface nommées
‘Listeners’ (écouteurs) :
• ActionListener
public void actionPerformed(ActionEvent e);
• MouseListener
public void mouseClicked(MouseEvent e);
• MouseMotionListener public void mouseEntered(MouseEvent e);
public
public void abstract void mouseDragged(MouseEvent
mouseExited(MouseEvent e); e);
• ItemListener public public
void abstract void mouseMoved(MouseEvent
mousePressed(MouseEvent e); e);
public  void windowActivated(WindowEvent e);  
publicvoid
public voidmouseReleased(MouseEvent
itemStateChanged(ItemEvente);e);
• KeyListener public  void windowClosed(WindowEvent e);  
public  void windowClosing(WindowEvent e);  
public void keyPressed(KeyEvent e);
• TextListener public  void windowDeactivated(WindowEvent e);  
public void keyReleased(KeyEvent e);
public  void windowDeiconified(WindowEvent e);  
public void
Public keyTyped(KeyEvent e); e)
TextValueChanged(TextEvent
• WindowListener public  void windowIconified(WindowEvent e);  
public  void windowOpened(WindowEvent e);  

23
Chapitre III: Interfaces Graphiques
III- Gestions des événements
2- Trois étapes à suivre

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
Chapitre III: Interfaces Graphiques
III- Gestions des événements
3- Exemple 1 :

25
Chapitre III: Interfaces Graphiques
III- Gestions des événements
3- Exemple 2 :

26
Chapitre III: Interfaces Graphiques
III- Gestions des événements
3- Exemple 3 :

27
Chapitre III: Interfaces Graphiques
Exercice
-

Ecrire un programme sous java qui permet de faire des calculs des deux nombres entrés,
utiliser l’API AWT.

Nombre 1 1 Nombre 2 1 Resultat1


+    
-
*
=
/
 
Effacer

28
Tp_3_à rendre avant la prochaine séance

29
Chapitre III: Interfaces Graphiques

IV- API Swing

30
Chapitre III: Interfaces Graphiques
IV- Swing

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

31
Chapitre III: Interfaces Graphiques
IV- Swing

32
Chapitre III: Interfaces Graphiques
IV- Swing
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)

33
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

34
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

a- Etiquette

JLabel()
JLabel(String s)
JLabel(Icon i)
JLabel(String s, Icon i, int horizontalAlignment)

Exemple

35
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

b- Bouton

JButton()
JButton(String )
JButton(Icon i)

Exemple

36
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

c- Zones de texte :

JTextField

JPasswordField

JTextArea

37
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

c- Zones de texte :

JTextPane JEditorPane

38
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

d- Case à cocher

JCheckBox()
JChechBox(String s)
JCheckBox(String text, boolean selected)

Exemple

39
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

e- Bouton radio

JRadioButton()
JRadioButton(String s)
JRadioButton (String text, boolean selected)

Exemple

40
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

f- Les listes : JComboBox

JComboBox()
JComboBox(Object[] items)
JComboBox(Vector<?> items)

Exemple

41
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

g- Les listes: JList

JList()
JList(ary[] listData)
JList(ListModel<ary> dataModel)

Exemple

42
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

h- JSpinner

JSpinner()
JSpinner(SpinnerModel model)

Exemple

43
Chapitre III: Interfaces Graphiques
IV- Swing
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

44
Chapitre III: Interfaces Graphiques
IV- Swing
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

45
Chapitre III: Interfaces Graphiques
IV- Swing
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

46
Chapitre III: Interfaces Graphiques
IV- Swing
2- Les Composants standards:

l- Tableau

JTable()
JTable(Object[][] rows, Object[] columns)

Exemple

47
Chapitre III: Interfaces Graphiques
IV- Swing
3- Les conteneurs(panels):

a- JPanel

JPanel est une classe de conteneur la plus simple. Il fournit un espace dans lequel une
application peut attacher n'importe quel autre composant.

Exemple

48
Chapitre III: Interfaces Graphiques
IV- Swing
3- Les conteneurs(panels):

b- JscrollPane

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.
Exemple

49
Chapitre III: Interfaces Graphiques
IV- Swing
3- Les conteneurs(panels):

c- JTabbedPane

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.

Exemple

50
Chapitre III: Interfaces Graphiques
IV- Swing
3- Les conteneurs(panels):

d- JSplitPane

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.
Exemple

51
Chapitre III: Interfaces Graphiques
IV- Swing
3- Les conteneurs(panels):

e- JEditorPane

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().

Exemple

52
Chapitre III: Interfaces Graphiques
IV- Swing
3- Les conteneurs(panels):

f- JTextPane

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.

Exemple

53
Chapitre III: Interfaces Graphiques
IV- Swing
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 

54
Chapitre III: Interfaces Graphiques
IV- Swing
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,"Salamo Alikoum\n Salut tout le monde \n Hi everybody.");  

55
Chapitre III: Interfaces Graphiques
IV- Swing
4- Les Boites de dialogue:

a- Les boîtes d'information


static void showMessageDialog(Component parentComponent, Object message, String title, int messageType)

56
Chapitre III: Interfaces Graphiques
IV- Swing
4- Les Boites de dialogue:

a- Les boîtes d'information


static void showMessageDialog(Component parentComponent, Object message, String title, int messageType)

57
Chapitre III: Interfaces Graphiques
IV- Swing
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

58
Chapitre III: Interfaces Graphiques
IV- Swing
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

59
Chapitre III: Interfaces Graphiques
IV- Swing
4- Les Boites de dialogue:

b- Les boîtes de confirmation


Valeur Valeur int
Les valeurs renvoyées sont :
JOptionPane.CLOSED_OPTION -1

JOptionPane.OK_OPTION 0

JOptionPane.NO_OPTION 1

JOptionPane.CANCEL_OPTION 2

60
Chapitre III: Interfaces Graphiques
IV- Swing
4- Les Boites de dialogue:

c- Les boîtes de saisie(avec une champ de texte)


static String showInputDialog(Component parentComponent, Object message)

61
Chapitre III: Interfaces Graphiques
IV- Swing
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

62
Chapitre III: Interfaces Graphiques
IV- Swing
4- Les Boites de dialogue:

d- les boîtes de dialogue personnalisées


Utilser pour cela la classe : JDialog

Exemple

63
Chapitre III: Interfaces Graphiques
IV- Swing
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

64
Chapitre III: Interfaces Graphiques
IV- Swing
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

65
Chapitre III: Interfaces Graphiques
IV- Swing
5- Les Menus:

66
Chapitre III: Interfaces Graphiques
IV- Swing
7- L’arbre:JTree

67
Chapitre III: Interfaces Graphiques
IV- Swing
10- Quelques trucs utiles:

68
Chapitre III: Interfaces Graphiques

TP 4 __à rendre avant la prochaine séance

69

Vous aimerez peut-être aussi