Professional Documents
Culture Documents
C7-Programmation Graphique
C7-Programmation Graphique
LA PROGRAMMATION
GRAPHIQUE EN JAVA
Interface utilisateur
1
Programmation conduite par les événements
Swing
construit au-dessus de AWT
composants bien plus nombreux et perfectionnes
composants légers, « 100% pur Java »
2
Swing ou AWT ?
Paquetages principaux
3
Principaux composants Swing
Hiérarchie d'héritage
java.lang.Object
+--java.awt.Component
+--java.awt.Container
+--javax.swing.JComponent
4
Créer une interface
La fenêtre JFrame
5
La fenêtre JFrame
Fichier Simple1.java
La fenêtre JFrame
6
La fenêtre JFrame
Le panneau JPanel
7
Le panneau JPanel
Mettons un panneau rouge dans le cadre :
Fichier Simple3.java
Le panneau JPanel
8
Le panneau JPanel
Quelque chose dans le cadre, une autre approche :
Fichier Simple4.java
Le panneau JPanel
9
Ajout de composants
10
FlowLayout
Place les composants les uns à la suite des autres ligne par
ligne en passant à la ligne suivante si nécessaire
Possède 3 constructeurs :
FlowLayout()
FlowLayout(int align)
où align est l’alignement ( LEFT, CENTER, RIGHT)
FlowLayout(int align, int hgap, int vgap)
où hgap est l'espacement horizontal (donc d’une colonne à une
autre) et vgap l'espacement vertical
FlowLayout
Fichier TestFlowLayout.java
11
FlowLayout
GridLayout
Place les composants dans une grille
Possède 3 constructeurs :
GridLayout()
12
GridLayout
Fichier TestGridLayout.java
GridLayout
13
BorderLayout
BorderLayout
Fichier TestBorderLayout.java
14
BorderLayout
Positionnement absolu
15
Positionnement absolu
Comment répartir ?
16
Layout Complexe
Layout Complexe
17
Layout Complexe
Layout Complexe
18
Les évènements
19
La gestion des évènements
Les objets événements:
xxxEvent
Contiennent la description et les caractéristiques d’un événement
20
Ecouteur et évènements
Description Interface d'écouteur Adaptateur Type événement
Actions sur un
ActionListener ActionEvent
composant
Ajustement d'une
AdjustementListener AdjustementEvent
barre de défilement
Sélection d'un élément ItemListener ItemEvent
Le composant reçoit
FocusListener FocusAdapter FocusEvent
ou perd le focus
Actions au clavier KeyListener KeyAdapter KeyEvent
Actions sur la souris MouseListener MouseAdapter MouseEvent
Actions de la souris MouseMotionAd
MouseMotionListener MouseEvent
sur un composant apter
Actions sur la fenêtre WindowListener WindowAdapter WindowEvent
Changement d'une
TextListener TexdEvent
zone de texte
Principe
21
Démarche
Fichier TestEventBouton1.java
22
Détecter l'action sur un bouton pour
changer la couleur du JPanel
Fichier TestEventBouton2.java
23
Détecter l'action sur un bouton pour changer
le contenu d’un JLabel
Les adaptateurs
24
Les adaptateurs
Exemple:
25
Autres composants
26
MessageDialog
Exemples:
27
Les menus
Exemple
Exemple: Menu1.java
28
Graphisme 2D
Méthodes publiques
contains(int x, int y)
contains(Rectangle r)
intersects(Rectangle r)
…
29
Exemple
Documentation
30