2. Dans une interface graphique,
graphique,
il existe deux types de composants :
- Les conteneurs
- Les composants atomiques.
3. Un conteneur va permettre de placer des
composants, par exemple une fenêtre.
Les composants atomiques sont des
composants qui ne peuvent pas contenir
d'autres composants,
par exemple un bouton radio, un champ
de texte, une image.
4. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
5. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
6. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
Création d'un objet F de type JFrame. F contient la
référence
de l'objet.
7. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
Attribution d'un titre à notre
interface graphique.
8. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
Attribution d'un titre à notre
interface graphique.
9. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
Définition de la taille de la fenêtre.
10. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
Cette méthode va permettre de configurer la visibilité. Si
l'argument
vaut « true », la fenêtre sera alors visible. Dans le cas où
l'argument vaut
« false », la fenêtre serait invisible.
11. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(true);
}
}
12. Une Interface Graphique
import javax.swing.JFrame;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
F.setVisible(false);
}
}
La fenêtre n’est pas visible.
14. Une Interface Graphique
import javax.swing.JFrame;
import javax.swing.JPanel;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
F.setVisible(true);
}
}
15. Une Interface Graphique
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
F.setVisible(true);
}
} On doit créer un conteneur
Puis on l’ajoute à l’interface graphique
16. Une Interface Graphique
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
F.setVisible(true);
}
}
On doit créer un conteneur
Puis on l’ajoute à l’interface graphique
17. Une Interface Graphique
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
F.setVisible(true);
}
}
On doit créer un conteneur
Puis on l’ajoute à l’interface graphique
18. Une Interface Graphique
import javax.swing.JButton;
import javax.swing.JFrame; On va ajouter un bouton.
import javax.swing.JPanel;public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new
unboutton=new
JButton("Bonjour");
JButton("Bonjour");
unpanel.add(unboutton);
unpanel.add(unboutton);
F.setVisible(true);
}
} On va créer un bouton.
On va l’ajouter au conteneur.
19. Une Interface Graphique
import javax.swing.JButton;
import javax.swing.JFrame; On va ajouter un bouton.
import javax.swing.JPanel;
public class feni {
public static void main(String[] args) {
JFrame F = new JFrame();
F.setTitle("un premier interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
unpanel.add(unboutton);
F.setVisible(true);
}
} On va créer un bouton.
On va l’ajouter au conteneur.
20. Une interface Graphique
Il est aussi possible de modifier la
dimension de notre bouton.
JButton unboutton=new JButton("Bonjour");
unboutton.setPreferredSize(new Dimension(230, 44)) ;
21. Une interface Graphique
Il est aussi possible de modifier la
dimension de notre bouton.
JButton unboutton=new JButton("Bonjour");
Unboutton.setPreferredSize(new Dimension(230, 44)) ;
Il ne faut pas oublier la librairie.
import java.awt.Dimension;
22. Une interface Graphique
Il est aussi possible de modifier la
dimension de notre bouton.
JButton unboutton=new JButton("Bonjour");
unboutton.setPreferredSize(new Dimension(230, 44)) ;
23. Ajouter des composants
Les étapes à suivre :
Création d'une interface graphique
Création d'un panel (Conteneur)
Création des composants
Ajout du panel à l'interface graphique
Ajout des composants au conteneur
24. Ajouter des composants
Les étapes à suivre :
Création d'une interface graphique
Création d'un panel (Conteneur)
Création des composants
Ajout du panel à l'interface graphique
Ajout des composants au conteneur
25. Ajouter des composants
Les étapes à suivre :
Création d'une interface graphique
Création d'un panel (Conteneur)
Création des composants
Ajout du panel à l'interface graphique
Ajout des composants au conteneur
26. Ajouter des composants
Les étapes à suivre :
Création d'une interface graphique
Création d'un panel (Conteneur)
Création des composants
Ajout du panel à l'interface graphique
Ajout des composants au conteneur
27. Une interface Graphique
package Fenetre;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Feni {
Feni(){
JFrame F = new JFrame();
F.setTitle("une premiere interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
JLabel label = new JLabel("Ecrire un texte dans la fenêtre");
unpanel.add(label);
F.setVisible(true);
}}
28. Une interface Graphique
package Fenetre;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Feni {
Feni(){
JFrame F = new JFrame();
F.setTitle("une premiere interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
JLabel label = new JLabel("Ecrire un texte dans la
JLabel("Ecrire
fenêtre");
unpanel.add(label);
F.setVisible(true);
Création du texte
Ajout dans le conteneur
}}
29. Une interface Graphique
package Fenetre;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Feni {
Feni(){
JFrame F = new JFrame();
F.setTitle("une premiere interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
JLabel label = new JLabel("Ecrire un texte dans la fenêtre");
unpanel.add(label);
F.setVisible(true);
Création du texte
}}
Ajout dans le conteneur
30. Une interface Graphique
package Fenetre;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Feni {
Feni(){
JFrame F = new JFrame();
F.setTitle("une premiere interface");
F.setSize(340,200);
JPanel unpanel = new JPanel();
F.add(unpanel);
JButton unboutton=new JButton("Bonjour");
unpanel.add(unboutton);
JLabel label = new JLabel("Ecrire un texte dans la
JLabel("Ecrire
fenêtre");
unpanel.add(label);
F.setVisible(true);
}}
31. Une interface Graphique
Pour attribuer un comportement, il faudra poser des
écouteurs.
Un écouteur permet de réaliser une ou plusieurs
actions
lorsque l'on clique sur un bouton.
Ces actions sont programmées dans la partie
écouteur.
32. Les interfaces Graphiques
Bien prendre les bonnes habitudes dés le
départ.
Pour créer des interfaces graphiques, il faut
2 classes.
• Une classe qui va contenir la méthode principale.
• Une autre classe qui va contenir le code de la
fenêtre
35. Une interface Graphique
class Fenetre extends JFrame implements
ActionListener
La classe implémente les méthodes de la
classe ActionListener.
36. Une interface Graphique
JButton unbouton = new JButton("Bonjour") ;
Pour informer le compilateur que le bouton doit être
écouté :
unboutton.addActionListener(this);
37. Une interface Graphique
JButton unbouton = new JButton("Bonjour") ;
Pour informer le compilateur que le bouton doit être
écouté :
unboutton.addActionListener(this);
Le nom du boutton
38. Une interface Graphique
Par la suite, il faut programmer le comportement de
l'écouteur.
public void actionPerformed (ActionEvent ev)
{
nbAppuie++;
System.out.println ("Appui sur le bouton Bonjour" + nbAppuie) ;
}
Le comportement doit être écrit
à ce niveau .
57. Les interfaces Graphiques
CheckboxGroup groupe=new CheckboxGroup();
Checkbox box1=new Checkbox("ING1",groupe,false);
panel.add(box1);
Checkbox box2=new Checkbox("ING2",groupe,true);
panel.add(box2);
Checkbox box3=new Checkbox("ING3",groupe,false);
Je vais définir un groupe de checkbox. Ici, je lui attribue le nom «
groupe ».
58. Les interfaces Graphiques
CheckboxGroup groupe=new CheckboxGroup();
Checkbox box1=new Checkbox("ING1",groupe,false);
panel.add(box1);
Checkbox box2=new Checkbox("ING2",groupe,true);
panel.add(box2);
Checkbox box3=new Checkbox("ING3",groupe,false);
Nous allons créer le premier élément.
Le premier argument est la valeur à afficher. Ici, « ING1 »
Le second est le nom de son groupe
Le troisième est sa valeur par défaut au lancement de la fenêtre.
59. Les interfaces Graphiques
CheckboxGroup groupe=new CheckboxGroup();
Checkbox box1=new Checkbox("ING1",groupe,false);
panel.add(box1);
Checkbox box2=new Checkbox("ING2",groupe,true);
panel.add(box2);
Checkbox box3=new Checkbox("ING3",groupe,false);
Nous allons créer le premier élément.
Le premier argument est la valeur à afficher. Ici, « ING1 »
Le second est le nom de son groupe
Le troisième est sa valeur par défaut au lancement de la fenêtre.
60. Les interfaces Graphiques
CheckboxGroup groupe=new CheckboxGroup();
Checkbox box1=new Checkbox("ING1",groupe,false);
panel.add(box1);
Checkbox box2=new Checkbox("ING2",groupe,true);
panel.add(box2);
Checkbox box3=new Checkbox("ING3",groupe,false);
Nous allons créer le premier élément.
Le premier argument est la valeur à afficher. Ici, « ING1 »
Le second est le nom de son groupe
Le troisième est sa valeur par défaut au lancement de la fenêtre.
61. Les interfaces Graphiques
CheckboxGroup groupe=new CheckboxGroup();
Checkbox box1=new Checkbox("ING1",groupe,false);
panel.add(box1);
Checkbox box2=new Checkbox("ING2",groupe,true);
panel.add(box2);
Checkbox box3=new Checkbox("ING3",groupe,false);
Nous allons créer le premier élément.
Le premier argument est la valeur à afficher. Ici, « ING1 »
Le second est le nom de son groupe
Le troisième est sa valeur par défaut au lancement de la
fenêtre.
62. Les interfaces Graphiques
CheckboxGroup groupe=new CheckboxGroup();
Checkbox box1=new Checkbox("ING1",groupe,false);
panel.add(box1);
Checkbox box2=new Checkbox("ING2",groupe,true);
panel.add(box2);
Checkbox box3=new Checkbox("ING3",groupe,false);
Nous allons créer le premier élément.
Le premier argument est la valeur à afficher. Ici, « ING1 »
Le second est le nom de son groupe
Le troisième est sa valeur par défaut au lancement de la fenêtre.
67. Les interfaces Graphiques
Le gestionnaire de mise en forme, Border Layout, offre la possibilité de placer
les
composants dans une zone géographique. C'est à dire, le conteneur est divisé en cinq
parties :
- Nord ( North )
- Sud ( South)
- Est (East)
- Ouest ( West)
- Centre ( Center)
68. Les interfaces graphiques
Il existe plusieurs constructeurs
BorderLayout() : Création d'un gestionnaire BorderLayout.
BorderLayout(int hauteur; int verticale) : Création d'un gestionnaire.
BorderLayout. Les arguments hauteur et verticale offre la possibilité de définir un
espacement entre les composants.
L'ajout d'un composant se réalise par le biais de la méthode add qui prend deux
arguments. Le premier argument est le composant et le second est sa position.
add(composant c , position p )
81. Le gestionnaire de mise en forme FLOW
LAYOUT, permet de placer les composants les
uns à la suite des autres, de gauche à droite.
82. Le gestionnaire de mise en forme FLOW
LAYOUT, permet de placer les composants les
uns à la suite des autres, de gauche à droite.
83. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1"); //
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un); //ajout des boutons
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);contenu.add(cinq);
contenu.add(six);contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
84. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1"); //
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un); //ajout des boutons
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);contenu.add(cinq);
contenu.add(six);contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
85. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1"); //
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un); //ajout des boutons
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);contenu.add(cinq);
contenu.add(six);contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
86. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1"); //
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un); //ajout des boutons
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);contenu.add(cinq);
contenu.add(six);contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
87. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
88. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
89. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
90. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
91. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
92. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
93. package UnPackage;
import java.awt.* ;
import javax.swing.* ;
class Fenetre extends JFrame {
public Fenetre () {
super("Test FlowLayout") ;
setSize(400, 100) ;
Container contenu = getContentPane() ;
contenu.setLayout(new FlowLayout()) ;
JButton un = new JButton("1");
JButton deux = new JButton("2");
JButton trois = new JButton("3");
JButton quatre = new JButton("4");
JButton cinq = new JButton("5");
JButton six = new JButton("6");
JButton sept = new JButton("7");
JButton huit = new JButton("8");
contenu.add(un);
contenu.add(deux);
contenu.add(trois);
contenu.add(quatre);
contenu.add(cinq);
contenu.add(six);
contenu.add(sept);
contenu.add(huit);
super.setResizable(false);
}}
95. Le gestionnaire de mise en forme GRIDLAYOUT offre la possibilité de placer les
composants les uns à la suite des autres sur une grille régulière. Chaque
composant va alors occuper une cellule particulière de la grille.
Ils existent deux constructeurs :
public GridLayout(int verticale, int horizontal) permet de créer un
gestionnaire sous forme d'une grille. Les arguments verticale et horizontal
spécifient le nombre de ligne et de colonne.
public GridLayout(int rows, int cols, int hesp, int vesp)
permet de créer un gestionnaire sous forme de grille. De plus, hesp et vesp
définissent les espaces entre les différents composants.