Interface Graphique Intuitive
Interface Graphique Intuitive
" #$ %
Plan
!
& '"( )' (
"!* !" !+!* ,!
- ,!. /! !'"!. " 0 1 !. 2 , ), ..! /" *! 3
4 !. *!'0( !. ' ,!. ! , ), ..! )(* ( ! ' 5
,!. )(* (. '. '(* 1 !. &
! "
#
# $
3 ,!. ( '!. ! ,( ! -&
" !
" %
"
" #
" ! $
5 ,!. !.' ( "!. ! * .! ! /("*! 4
! & '
! ( ) '
! * ' "
! + '
, ! ! % $
, ! !
8 !.. ( . 9!) 9 -
- * .
- /
- + "
- 0%% ! . !
" # $ % # & ' # ()
& '"( )' ( 6-
'" '!" !9! !*! ' 64
- '!")! '!" !9! !*! ' 6
4 "!* !" !+!* ,! 66
1 2 3
/ 2 3 "
, (' ( $ ' '! " 65
6 "!) ' ,( . 68
3 !+!* ,! 9!) !. ( '( . 3&
5 !+!* ,! ! )"! ' ( : * 1 ! ! ( '( . 34
8 ,!. ), ..!. '!" !. !' ( :*!. 36
- "
- ' "
* *" $ +,
% - ./
Interface graphique Introduction
I. Interface graphique
I.1. Introduction
; # ; < =< ; < # 01 0 = <
#$ > # % = < 2
0 # ? = #$
= < @= < ; < % A B
01 0 01 # = <
< > < = #$ @= < ; <
, = > #7 CDE
F > ( F =
G
H F > I ) < D
G
H F > I ) D
G
H F > I
G
H F > I <<
G
H F > ; I <<
G
H F > I J # I
G
H F > ; I J # I
G
H F > I /
G
H F > ; I / % 4 !
G
H F > I
G
H F > ; I !
Page 2
Interface graphique Introduction
F > ( F =
G
H F > I ) < D
G
H F > I ) D
G
H F > ; I ) < D
G
H F > ; I
G
H F > ; I =
G
H F > ; I
G
H F > ; I '
G
H F > ; I ) =K ;
G
H F > ; I " #
G
H F > ; I * #
G
H F > ; I ) =K ;* #
G
H F > ; I " # * #
G
H F > ; I * #
G
H F > ; I ,
G
H F > ; I ; ' ;) <
G
H F > ; I ' ;/ #
G
H F > ; I ; ,
G
H F > ; I ; = ;
G
H F > ; I .= %
G
H F > ; I *
G
H F > ; I < <* !
G
H F > ; I ' #
Page 3
Interface graphique Introduction
0% . 3 . 3 . !
! %%
% ! 5
' !
[Link] [Link]
Page 4
Interface graphique Un premier exemple
Page 5
Interface graphique Un premier exemple
) ? % A @ > < # %
Page 6
Interface graphique Les fenêtres graphiques : la classe
JFrame
, = JFrame # < # # ; = = 2
= = = = > =
= < # # % A
"
, =
JFrame fen = new JFrame() ;
[Link]("Une fenêtre") ;
7 =
JFrame fen = new JFrame("Une fenêtre") ;
>
% A = # ? = #7
= <
, # getContentPane # = JFrame %
% = @ # < Container@ = # % A
Page 7
Interface graphique Des méthodes utiles de la classe
Component
* = = = <
void setVisible(boolean b)
!; < 2
[Link](true) 3 compo
) M $ C = > E #$ = <
boolean isEnabled()
!; < 2
[Link]() compo
3
* #% = # % # #7 = <
void setBackground(Color c)
* #% #7 = <
void setSize(int largeur, int hauteur)
Page 8
Interface graphique Des méthodes utiles de la classe
Component
* #% < #7 = <
void setBounds(int x, int y, int largeur, int hauteur)
# #7 = <
Dimension getSize()
void setSize(Dimension dim)
66 Dimension ! [Link]
9 height : ;
width : ! ;
Page 9
Interface graphique Les composants atomiques
, # setPreferredSize # = JComponent
< #7 < ? = < ! < #
F # < Dimension
!; <
JButton bouton = new JButton("Un bouton") ;
[Link](new Dimension(10, 20)) ;
66 ! $ $
Page 10
Interface graphique Les composants atomiques
!; <
class MaFenetre extends JFrame {
private JCheckBox MaCase;
public MaFenetre () {
super("Une fenetre avec une case") ;
setBounds(10,40,300,200) ;
MaCase = new JCheckBox("Une case") ;
66 . % MaCase
. Une case
getContentPane().add(MaCase) ;
}
}
# % @ = ? = = = # $
= = C% E , # isSelected # =
AbstractButton < # = M $ C % E #$
= ?= = ? # , # setSelected #
= AbstractButton < # #% $ #$ = ?
= =
!; <
[Link](true) ;
66 % MaCase
Page 11
Interface graphique Les composants atomiques
!; <
class MaFenetre extends JFrame {
private JRadioButton bRouge;
private JRadioButton bVert;
public MaFenetre () {
super("Une fenetre avec des boutons radio") ;
setBounds(10,40,300,200) ;
bRouge = new JRadioButton("Rouge") ;
66 . % bRouge
. Rouge
bVert = new JRadioButton("Vert") ;
66 . % bVert
. Vert
ButtonGroup groupe = new ButtonGroup() ;
[Link](bRouge) ; [Link](bVert) ;
66, 8 ' ButtonGroup :
! [Link], 3 Object;
3
. . !
3 , .
! 5 % 5
[Link](bRouge) ;
Page 12
Interface graphique Les composants atomiques
[Link](bVert) ;
6608 % 4 ,
8 ' ButtonGroup .
4 8
}
}
# % @ # = # $
= C% E C # # isSelected
setSelected # = AbstractButtonE
Page 13
Interface graphique Les composants atomiques
!; <
class MaFenetre extends JFrame {
private Jlabel MonTexte;
public MaFenetre () {
super("Une fenetre avec une etiquette") ;
setBounds(10,40,300,200) ;
MonTexte = new Jlabel ("texte initial") ;
66 . % MonTexte
texte initial
getContentPane().add(MonTexte) ;
[Link]("nouveau texte") ;
66 % . %
MonTexte
}
}
Page 14
Interface graphique Les composants atomiques
!; <
class MaFenetre extends JFrame {
private JTextField MonChamp1 ;
private JTextField MonChamp2 ;
public MaFenetre () {
super("Une fenetre avec deux champs de texte") ;
setBounds(10,40,300,200) ;
MonChamp1 = new JtextField(20) ;
66 $:
2 %% ;
Monchamp2 = new JtextField("texte initial", 10) ;
66 $ texte
initial
getContentPane().add(MonChamp1) ;
getContentPane().add(MonChamp2) ;
}
}
= ; $ = ? = < < $# %
( < F # < JLabel $ < #
# # < = >
, # getText < # = M ?
= #$ = <# ;
!; <
String ch= [Link]() ;
Page 15
Interface graphique Les composants atomiques
!; <
String[] couleurs = {"rouge", "bleu", "gris", "vert",
"jaune", "noir"};
JList MaListe = new Jlist(couleurs) ;
[Link](2) ;
66 . !
; # M # @ = = <
< P # < 2
9 # < P # < ' < # =
= < #
. ,!Q.!,!)' ( = #$ >
. ,!Q '!"9 ,Q.!,!)' ( = #$ < #
> C= RE
* ,' ,!Q '!"9 ,Q.!,!)' ( = #$
= # < #
>
# % @ < #$ M #
* ,' ,!Q '!"9 ,Q.!,!)' (
Page 16
Interface graphique Les composants atomiques
M # ? = < @ #
getSelectedValue % > = .
# < Object
!; <
String ch = (String) [Link]();
66 !
< # M # @ #
getSelectedValue % < P # >
= > @ %
# getSelectedValues % #7 F
!; <
Object[] valeurs = [Link]();
for (int i=0 ;i<[Link] ;i++)
[Link]((String) valeurs[i]) ;
66 !
# % M # < P# < # 6 7
78 9 1 ( < F 7 # #
< # # % # < JScrollPane C= # > #
= JComponentE = = @ 7 F <
= M # @ < # # %
!; <
JFrame fen = new JFrame() ;
JScrollPane defil = new JScrollPane(MaListe) ;
66 % MaListe %% 3 <
5 % #
[Link](4) ;
66 3 3 %
[Link]().add(defil) ;
66 8 % % 4
Page 17
Interface graphique Les composants atomiques
, 7 = = <# ; @ M #
7 %% = 2
,7 < = > # M #
7 %% = # = < # ; @ =
> $ = #
!; <
String[] couleurs = {"rouge", "bleu", "gris", "vert",
"jaune", "noir"};
JComboBox MaCombo = new JComboBox(couleurs) ;
[Link](2) ;
66 . !
, M = # #7 # # % #P
# > < ? 5 ( < #%
# > > > = #
setMaximumRowCount
!; <
[Link](4) ;
66 3 %%
Page 18
Interface graphique Les composants atomiques
# % @ = <# ; = ? M = 7
< # @= % 7 ?<
= = # * < A # #
< # setEditable ,7 <
> # C = E@ > #
= ;C E
!; <
[Link](true) ;
, # getSelectedItem % > =
. # < Object
!; <
String ch = (String) [Link]();
, # getSelectedIndex % # >
= ! % > &@ 7
> > C=7 ? # > 7 <
= # E
Page 19
Interface graphique Les menus et les barres d'outils
F > ( F =
G
H F > I ) < D
G
H F > I ) D
G
H 3 4 01 0 D
G
H F > ; I =
G
H F > ; I * #
G
H F > ; I ) =K ;* #
G
H F > ; I " # * #
G
H F > ; I * #
G
H F > ; I *
G
H F > ; I < <* !
G
H F > ; I ' #
Page 20
Interface graphique Les menus et les barres d'outils
Page 21
Interface graphique Les menus et les barres d'outils
a. Un exemple
Import [Link].* ;
import [Link].* ;
Page 22
Interface graphique Les menus et les barres d'outils
Page 23
Interface graphique Les menus et les barres d'outils
Page 24
Interface graphique Les menus et les barres d'outils
Page 25
Interface graphique Les menus et les barres d'outils
7? < @ % #7 <
#7 < ! % @ < < ? % <<
M
# < = % @ %% #7 #
< # < JMenu C < # <
JMenuItemE ) # = < A < # %
>
!; <
JMenuBar barreMenus = new JMenuBar() ;
setJMenuBar(barreMenus) ;
66 # Formes # Arrondi
4 Cercle Ovale5 5
# Rectangle
JMenu formes = new JMenu("Formes") ;
[Link](formes) ;
JMenu arrondi = new JMenu("Arrondi") ;
[Link](arrondi) ;
JMenuItem cercle = new JMenuItem("Cercle") ;
[Link](cercle) ;
JMenuItem ovale = new JMenuItem("Ovale") ;
[Link](ovale) ;
JMenuItem rectangle = new JMenuItem("Rectangle") ;
[Link](rectangle) ;
Page 26
Interface graphique Les menus et les barres d'outils
# A %% = ;< = <
< @ # show # =
JPopupMenu ) # # ; 2 = <
= = C @ 7 # % A E = #
; % << M C= #
# = < = E , %% = F 7? =
7 = < % =
? =L
!; <
JFrame fen = new JFrame() ;
[Link](true) ;
[Link](fen, x, y) ;
66 %% x y
Page 27
Interface graphique Les menus et les barres d'outils
!; <
class MaFenetre extends JFrame {
JToolBar barreOutils ;
JButton boutonRouge, boutonVert ;
public MaFenetre () {
super("Une fenetre avec une barre d'outils") ;
setSize(300, 200) ;
66 # #
9 Rouge Vert
barreOutils = new JToolBar() ;
boutonRouge = new JButton("Rouge") ;
[Link](boutonRouge) ;
boutonVert = new JButton("Vert") ;
[Link](boutonVert) ;
getContentPane().add(barreOutils) ; }
}
# % @ #7 90 @ =7 ? # 7
< # < = #7 # ? # % A @ ?
7 # % A ( < # ? #7 #
% S= ? # setFloatable
!; <
[Link](false) ;
Page 28
Interface graphique Les menus et les barres d'outils
Page 29
Interface graphique Les menus et les barres d'outils
Page 30
Interface graphique Les boîtes de dialogue
F > ( F =
G
H F > I ) < D
G
H F > I ) D
G
H F > I J # I
G
H F > I
G
H F > ; I !
G
H F > ; I ) < D
G
H F > ; I (< !
Page 31
Interface graphique Les boîtes de dialogue
7 ; <
< = # @ 7 > # % =
# ; > # #
showMessageDialog < # = #
Page 32
Interface graphique Les boîtes de dialogue
!; <
[Link](fen, "Mauvais
choix", "Message d'avertissement",
JOptionPane.ERROR_MESSAGE) ;
Page 33
Interface graphique Les boîtes de dialogue
Page 34
Interface graphique Les boîtes de dialogue
1: ; 7 60>
(< !/ ,'Q( ' ( C &E !
(< :!.Q (Q( ' ( C E :!.
(
(< :!.Q (Q) )!,Q( ' ( :!.@
C&E ( ) )!,
(< (VQ) )!,Q( ' ( C E (V
) )!,
!; <
[Link](fen, "Voulez-vous
continuer ?", "Incident majeur",
JOptionPane.YES_NO_OPTION) ;
Page 35
Interface graphique Les boîtes de dialogue
, > # # # showInputDialog
F # < String = ; % < 7 @
> 7 7 < = % <
(V
Page 36
Interface graphique Les boîtes de dialogue
Page 37
Interface graphique Les boîtes de dialogue
Page 38
Interface graphique Les boîtes de dialogue
, > # # # showInputDialog
F # < Object = > = <
7 @ > 7 7 < = %
< (V
Page 39
Interface graphique Les boîtes de dialogue
[Link](MonBouton); [Link](MonChamp) ;
66 8 # #
!
}
}
Page 40
Interface graphique Les boîtes de dialogue
Page 41
Interface graphique Les gestionnaires de mise en forme
Page 42
Interface graphique Les gestionnaires de mise en forme
,7 < = #7
= < = %
# # add # = Container 7 #
= P > C < # %%
# = > E2
) 9
# , ("'0 T T
# , .( '0 T. T
# , ! .' T! T
# , J!.' TJ T
# , )! '!" T) T
. = > 7 < = ? # add@ = <
< = =
, = BorderLayout # < # # ;= = 2
public BorderLayout() ;
public BorderLayout(int hgap, int vgap) ;
66hgap vgap % 3 #
> # 3 : ;
# 1 % 5
!; <
import [Link].* ;
import [Link].* ;
Page 43
Interface graphique Les gestionnaires de mise en forme
! % BorderLayout
5
4 setPreferredSize
JComponent : % ! ? ;
Page 44
Interface graphique Les gestionnaires de mise en forme
, = FlowLayout # < # = = 2
public FlowLayout() ;
public FlowLayout(int align) ;
66align 2 # ! # !
3 % 4
* 2 3
2 3 :
%% 3 ; 9
/ I, ,!/'CT, % TE5 / I, " 0'CT" TE
/ I, )! '!"CT) TE 1 %
! !
public FlowLayout(int align, int hgap, int vgap) ;
66hgap vgap %
!; <
class MaFenetre extends JFrame {
public MaFenetre () {
super("Une fenetre") ; setSize(300, 200) ;
Container contenu = getContentPane() ;
[Link](new FlowLayout()) ;
66 ! ! %
[Link](new JButton("UN")) ;
[Link](new JButton("DEUX")) ;
}
}
Page 45
Interface graphique Les gestionnaires de mise en forme
! % FlowLayout 5
5
5 4
setPreferredSize JComponent
Page 46
Interface graphique Les gestionnaires de mise en forme
Page 47
Interface graphique Les gestionnaires de mise en forme
, = GridLayout # < # # ;= = 2
public GridLayout(int rows, int cols) ;
66rows cols % 3
! !
public GridLayout(int rows, int cols, int hgap, int vgap) ;
66hgap vgap %
!; <
class MaFenetre extends JFrame {
public MaFenetre () {
super("Une fenetre") ; setSize(300, 200) ;
Container contenu = getContentPane() ;
[Link](new GridLayout(2, 2)) ;
66 ! ! %
[Link](new JButton("UN")) ;
[Link](new JButton("DEUX")) ;
[Link](new JButton("TROIS")) ;
[Link](new JButton("QUATRE")) ;
}
}
Page 48
Interface graphique Les gestionnaires de mise en forme
, # % BoxLayout < #
# < # = < > A A
= @ > = < # <
GridLayout
, # % GridBagLayout@ =
GridLayout@ < # # < = <
> @ = ;= < > == < <
= B @ # = < A #%
= # 7 ; =
Page 49
Interface graphique Les gestionnaires de mise en forme
Page 50
Interface graphique Les gestionnaires de mise en forme
66 % getInsets % %
3 ! % 4
public Insets getInsets() {
Insets normal = [Link]() ;
66 ! % % 4
return new Insets([Link]+10, [Link]+10,
[Link]+10, [Link]+10) ;
66 # 3 8 ' Insets
% ! % 4
}
}
Page 51
Interface graphique Les gestionnaires de mise en forme
Page 52
Interface graphique Dessinons avec Java
* 2
. 4
%%
# @ @ @ = < =
<< # < JPanel
F > ( F =
G
H F > I ) < D
G
H F > I ) D
G
H F > ; I ) < D
G
H F > ; I
Page 53
Interface graphique Dessinons avec Java
< # T % A T@
# @ # A = < #
add C# = ContainerE ? = @
% A
!; <
import [Link].* ;
import [Link].* ;
, # % FlowLayout
< # % # < ;
Page 54
Interface graphique Dessinons avec Java
Page 55
Interface graphique Dessinons avec Java
Page 56
Interface graphique Dessinons avec Java
" 18 07 paintComponent 0 01 1
1 9 0 4 7 01 0 9?
98
Page 57
Interface graphique Dessinons avec Java
# % @# # paintComponent #$ = < @
= = # = ; < = < #
= #$ > < # = < C > #%
< # setForeground # = Component #
= < E # paintComponent #$
= < @ < 2
= < = # = ; < = < #
public abstract Color getColor()
#% = # = ; < = < #
public abstract setColor(Color c)
, # getColor setColor # # #
= Graphics
Page 58
Interface graphique Dessinons avec Java
$ P @ ? # @ = <
# < #$ 09 = # < Font C= #
< [Link] # > # = ObjectE # %
< 2
# % # < = C. . %@ . %@ * < = #@
@ < EB
2 C/ , E@
C/ (, E@ C/ ' , )E@
C/ (, H/ ' , )E B
;< < < < <
<;
!; <
Font f = new Font("Serif", [Link], 18) ;
, # getFont setFont # # #
= Graphics
Page 59
Interface graphique Dessinons avec Java
public abstract void drawLine(int x1, int y1, int x2, int y2)
66 :x15 y1;
:x25 y2;
@ !
!
Page 60
Interface graphique Dessinons avec Java
, = #7 % <
' #7 #@ = = # = ImageIcon C=
# < [Link] # > # = ObjectE
< # =
! @ # getImage < #7 F #
< Image ? < #7 F # < ImageIcon ,
# getImage # = Toolkit C= #
< [Link] # > # = ObjectE <
# = # < %= = , #
getImage # = Applet < # =
# < # ,7 # = #
F # < URL C= # < [Link]
# > # = ObjectE@ < # <
# # C ", < %
" % = , = E
! % @ # drawImage # = Graphics <
#$ %% = # < Image C= # <
[Link] # > # = ObjectE
, getImage $
# # < = #
$ %% = < # <
< < P # $ %% = # $
% # < > %% = $ < # $ @ >
% P # # drawImage #
= Graphics % = F < = <<
06 ) F < $ % =
ImageObserver = < # imageUpdate
<< = % $ > < # $
# <
Page 61
Interface graphique Dessinons avec Java
!; <
class MaFenetre extends JFrame {
private JPanel pan ;
public MaFenetre () {
super("Une fenetre avec une image") ;
setSize(300, 200) ;
pan = new Panneau();
getContentPane().add(pan) ; }
}
Page 62
La gestion des événements Introduction
[Link]
= = @ % << #$ = = >
= # #$ % A # ; <
#$ >
B 3 3 3 9 3
3 : 5 % 4 ;
3 3 : 5
3 . . %
3 ;
0% . 3 . 3 . !
! %%
% ! 5 '
! java.awt5 [Link].event5
[Link] [Link]
Page 63
La gestion des événements Traiter un événement
[Link] un événement
= < < % = A >
$ P # P = ?# F < =
<< 8 0 C = < < A < <
= E
! % = # > $ @ = #
< % = < = P @ # > # $ % =
EventListener@ = < #? = #$ >
> # < XXXEvent@ = #
< $ % = XXXListener
!; <
,$ % = MouseListener = < # ? =
#$8 8 1 0 # < MouseEvent ! = <
= # = < # = = ? >
< =
public interface MouseListener extends EventListener {
public void mousePressed(MouseEvent e) ;
66 .
66 . ! e ' MouseEvent
. 8 3 !
public void mouseReleased(MouseEvent e) ;
66 . C
Page 64
La gestion des événements Intercepter un événement
[Link] un événement
, $ = < > = < > # <
XXXEvent@ # < = # = = <<
# addXXXListener(XXXListener objetEcouteur)@
X $ objetEcouteur = < # ? $ F =
= # $ >
Page 65
La gestion des événements Un premier exemple
}
}
66 . . 3 . %
MouseListener !
. 3
class EcouteurSouris implements MouseListener {
66 % .
public void mouseClicked(MouseEvent e) {
[Link]("clic dans la fenetre"); }
66 % A3 A
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
}
Page 66
La gestion des événements Un premier exemple
Page 67
La gestion des événements La notion d’adaptateur
!; <
class MaFenetre extends JFrame {
public MaFenetre () {
super("Une fenetre qui traite les clics souris") ;
setSize(300, 200) ;
addMouseListener(new EcouteurSouris());
}
}
Page 68
La gestion des événements Récapitulons
II.6.Récapitulons
> # < = C< ; <
% #$ % A E < = @ < ?
> 2
" = = # # % addXXXListener
# % # = # = # =
= #
# % % = XXXListener
$ = > #
# B = < #$ # % <
XXXEvent # $ > ?
!; <
,$ % = WindowListener # % #
windowClosing << # % #$
% A C # addWindowListener
# # = Window@ = = # #
= JFrameE
% = $ ><
,$ F =
< < = @ #
< $ % = XXXListener #
,$ = = # < # <
$ % = XXXListener #
,$ = = # < # # > #
= XXXAdapter = ? $ % =
XXXListener #
< # # $ % = XXXListener
, % = #
$ > < < P # = # <
A ;<
!; <
class MaFenetre extends JFrame {
public MaFenetre () {
super("Une fenetre qui gere sa fermeture") ;
Page 69
La gestion des événements Récapitulons
setSize(300, 200) ;
addWindowListener(new EcouteurFermer());
}
}
Page 70
La gestion des événements Un exemple avec des boutons
Page 71
La gestion des événements Un exemple avec des boutons
if([Link]() == MonBouton1)
66 3 ' JButton '
Object
[Link]("action sur le bouton 1") ;
if([Link]() == MonBouton2)
[Link]("action sur le bouton 2") ;
}
}
, # getActionCommand # = ActionEvent
< #$ > 7 011 7 = ? =
#$ > , = < # < #$ = M #
= # @ = ? = = @
# < # % @ = M # = #
= ?
!; <
, # actionPerformed # = MaFenetre <
$ = 2
public void actionPerformed(ActionEvent e) {
String nom = [Link]() ;
[Link]("action sur le " + nom) ;}
Page 72
La gestion des événements Un exemple avec des boutons
Page 73
La gestion des événements Un exemple de création dynamique
de boutons
import [Link].* ;
import [Link].* ;
import [Link].* ;
import [Link].* ;
Page 74
La gestion des événements Un exemple de création dynamique
de boutons
class EcouteurBouton implements ActionListener {
private Container contenu ;
public EcouteurBouton (Container contenu) {
[Link] = contenu ; }
public void actionPerformed(ActionEvent e) {
JButton NvBouton = new JButton("Bouton") ;
[Link](NvBouton) ;
[Link]() ;
66
}
}
Page 75
La gestion des événements Les classes internes et anonymes
F #7 = F = @
# = @? F #7 = ; # #
7 # =
F #7 = F ==P ; = <
# C A < > E # 7 F ; #
=
F #7 = ; F ==P ;= <
# C A < > E # 7 F #
=
!; <
Page 76
La gestion des événements Les classes internes et anonymes
class Cercle {
private Centre c ;
private double r ;
class Centre { 66 Cercle
private int x, y ;
public Centre(int x, int y) {
this.x = x ; this.y = y ; }
public void affiche() {
[Link]("( " + x + ", " + y + ")") ; }
} 66%
public Cercle(int x, int y, double r) {
c = new Centre(x, y) ;
66 # 8 ' Centre5 # 8
' Cercle ' :
;
this.r = r ; }
public void affiche() {
[Link]("Cercle de rayon " + r + " et de
centre ") ;
[Link]() ; } 66 affiche Centre
public void deplace(int dx, int dy) {
c.x += dx ; c.y += dy ; }
66 2 3 x y Centre
}
) = # # = C&@ -E
) = # # = C @ &E
Page 77
La gestion des événements Les classes internes et anonymes
= < < % =
!; <
class MaFenetre extends JFrame {
private JButton UnBouton ;
public MaFenetre () {
super("Une fenetre avec un bouton") ;
setSize(300, 200) ;
UnBouton = new JButton("Un bouton") ;
getContentPane().add(UnBouton) ;
[Link](new ActionListener(){
66 ' # %
ActionListener
public void actionPerformed(ActionEvent e) {
[Link](0); }
}); 66% '
}
}
}
Page 78
Bibliographie
Bibliographie
) # 1 ! B 3 ! @
) . 0 ) 0 E B 3 ? 9
( 3 ) < / = @
) > @ = * O @ ! = * #
. K B 3 5 ' 2 !# @ &883
, , ) , K ! B 3 . Y
.= * = C/ = E@ &886
Page 79
Index
Index
=
= !> 6-@ 3 @ 3-
# , 4 @ 4-
;, 48
< & @ 4
) #, 43
) 5
) < 5@ 66
) @ 3@ 4 @ &
8
!> ( F = 6-@ 3-
/ I, 4 @ 4
/ 8
< = @ 3
# , 48
#, 45
6&
= 8@ 6&
&
@ & @ 3 @ 34
) =K ; &&
) =K ;* 4
) ; &5
) < &
-&@ 4
/ @ 6@ 3
, &4
, &6
* &@ @ 6
* &@
* &@ @ 4@ 6
(< -&
-@ 4
< <* 3
" # &
" # * 4
.= &3
' ;/ # &
' 5
* !> 6-
", 6&
= C % = < E
= !> 6-@ 3 @ 3-
# , 4 @ 4-
;, 48
< & @ 4
) #, 43
) 5
) < 5@ 66
) @ 3@ 4 @ &
8
Page 80
Index
!> ( F = 6-@ 3-
/ I, 4 @ 4
/ 8
< = @ 3
# , 48
#, 45
6&
= 8@ 6&
&
@ & @ 3 @ 34
) =K ; &&
) =K ;* 4
) ; &5
) < &
-&@ 4
/ @ 6@ 3
, &4
, &6
* &@ @ 6
* &@
* &@ @ 4@ 6
(< -&
-@ 4
< <* 3
" # &
" # * 4
.= &3
' ;/ # &
' 5
* !> 6-
", 6&
= 38
= 33
= ; < @ 3
> 6-@ 3
# < 68
= 6 @ 68
= < 66
= 6-
6
>
; < 3 @3
> % A
; < 3&
% = J # I, 3
# ##J # I, CJ # I, E 3
# I # I) CJ # I!> E 3
>
= * !> 6-
; < 63@ 65@ 68
% = * , 6
# ##* , C* , E 66
# % 4
% =
Page 81
Index
= , 3
!> , 6
( > 6&
, * 4
* , 6
J # I, 3
% = C % = < E
= , 3
!> , 6
( > 6&
, * 4
* , 6
J # I, 3
#
= % #C = !> E 3 @ 3-
##C) < E 3@ 4-@ 3
##C) < @ E 4-
##C) < @. E 4-@ 43
##/ = , C/ = , E 66
## C( F = E &8
## C( F = @ E &8
##V , CV , E 66
##* , C* , E 66
##* * , C* * , E 66
##. < CE
##J # I, CJ # I, E 3
# I C @ @ @ ( > E 6&
# I, C @ @ @ E @6
# I(> C @ @ @ E 6
# I" = C @ @ @ E 6
# I. C. @ @ E 6
= ) #CE 3-
) CE 5
) CE @3
/ CE 8
CE 6&
C. E 6&
C ",E 6&
CE &
. = # # ;CE &8
. = # CE &8
. = #9 CE &3
. = #9 CE &3
. O CE 8
. = CE 3-
' ; CE &
! #CE 5
. = #CE &&@ &-@
) =K #C* !> E 6
! #C* !> E 6
!; #C* !> E 6
#C* !> E 6
" #C* !> E 6
< ) < C < =E -@ @ 3@ 5@ 8
> C) < E 3@ 3
> C( F = E &8
< CE 6@ 6
> # CE 3
Page 82
Index
= ) #C. E 34
=K #C) E 5
#C @ @ @ E @ 8@
) C) E 5
!# C E &8
! #C E 5@ &
/ C E 5
/ C/ E 8
/ #C) E 5@ 5
* C* E
, C, * E 4 @
* ; " I) C E &5
% #. O C E & @ 44@ 46
. = #C E &&@ &-
. = # # ;C E &6@ &5
. = * # C E &6
.O C E 8
.O C @ E 5
' ; C. E &4
' C. E @3
' ' <' ; C. E -
9 C E @5
9 " I) C E &3
IC) < @ @ E 3
I) % -4
I < -6@ -5
I* -
> # CE 3
I # I) CJ # I!> E 3
# C % = < E
= % #C = !> E 3 @ 3-
##C) < E 3@ 4-@ 3
##C) < @ E 4-
##C) < @. E 4-@ 43
##/ = , C/ = , E 66
## C( F = E &8
## C( F = @ E &8
##V , CV , E 66
##* , C* , E 66
##* * , C* * , E 66
##. < CE
##J # I, CJ # I, E 3
# I C @ @ @ ( > E 6&
# I, C @ @ @ E @6
# I(> C @ @ @ E 6
# I" = C @ @ @ E 6
# I. C. @ @ E 6
= ) #CE 3-
) CE 5
) CE @3
/ CE 8
CE 6&
C. E 6&
C ",E 6&
CE &
. = # # ;CE &8
. = # CE &8
. = #9 CE &3
. = #9 CE &3
. O CE 8
Page 83
Index
. = CE 3-
' ; CE &
! #CE 5
. = #CE &&@ &-@
) =K #C* !> E 6
! #C* !> E 6
!; #C* !> E 6
#C* !> E 6
" #C* !> E 6
< ) < C < =E -@ @ 3@ 5@ 8
> C) < E 3@ 3
> C( F = E &8
< CE 6@ 6
> # CE 3
= ) #C. E 34
=K #C) E 5
#C @ @ @ E @ 8@
) C) E 5
!# C E &8
! #C E 5@ &
/ C E 5
/ C/ E 8
/ #C) E 5@ 5
* C* E
, C, * E 4 @
* ; " I) C E &5
% #. O C E & @ 44@ 46
. = #C E &&@ &-
. = # # ;C E &6@ &5
. = * # C E &6
.O C E 8
.O C @ E 5
' ; C. E &4
' C. E @3
' ' <' ; C. E -
9 C E @5
9 " I) C E &3
IC) < @ @ E 3
I) % -4
I < -6@ -5
I* -
> # CE 3
I # I) CJ # I!> E 3
Page 84