103
Le Langage Java Le Langage Java SWING SWING Axel KAMALAK

SWING

Embed Size (px)

DESCRIPTION

Cours sur JAVA Swing

Citation preview

Page 1: SWING

Le Langage JavaLe Langage JavaSWINGSWINGAxel KAMALAK

Page 2: SWING

Dans une interface graphiqueDans une interface graphique,,il existe deux types de composants :il existe deux types de composants :

-- Les conteneursLes conteneurs-- Les composants atomiques.Les composants atomiques.

Page 3: SWING

Un conteneur va permettre de placer des composants, par exemple une fenêtre.Les composants atomiques sont des composants qui ne peuvent pas contenir composants qui ne peuvent pas contenir d'autres composants,par exemple un bouton radio, un champ de texte, une image.

Page 4: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(true);

}

}

Page 5: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(true);

}

}

Page 6: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(true);

}

}

Création d'un objet F de type JFrame. F contient la référence

de l'objet.

Page 7: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(true);

}

}

Attribution d'un titre à notre interface graphique.

Page 8: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(true);

}

}

Attribution d'un titre à notre interface graphique.

Page 9: SWING

Une Interface GraphiqueUne 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.setSize(340,200);F.setVisible(true);

}

}

Définition de la taille de la fenêtre.

Page 10: SWING

Une Interface GraphiqueUne 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.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.

Page 11: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(true);

}

}

Page 12: SWING

Une Interface GraphiqueUne 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.setSize(340,200);

F.setVisible(false);

}

}

La fenêtre n’est pas visible.

Page 13: SWING

Une Interface GraphiqueUne Interface Graphique

Nous allons ajouter des composants sur notre composants sur notre interface graphique.

Page 14: SWING

Une Interface GraphiqueUne Interface Graphiqueimport 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();JPanel unpanel = new JPanel();F.add(unpanel);JButton unboutton=new JButton("Bonjour");unpanel.add(unboutton);F.setVisible(true);}}

Page 15: SWING

Une Interface GraphiqueUne Interface Graphiqueimport 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);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

Page 16: SWING

Une Interface GraphiqueUne Interface Graphiqueimport 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();JPanel unpanel = new JPanel();F.add(unpanel);JButton unboutton=new JButton("Bonjour");unpanel.add(unboutton);F.setVisible(true);}}

On doit créer un conteneurPuis on l’ajoute à l’interface graphique

Page 17: SWING

Une Interface GraphiqueUne Interface Graphiqueimport 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();JPanel unpanel = new JPanel();F.add(unpanel);JButton unboutton=new JButton("Bonjour");unpanel.add(unboutton);F.setVisible(true);}}

On doit créer un conteneurPuis on l’ajoute à l’interface graphique

Page 18: SWING

Une Interface GraphiqueUne Interface Graphiqueimport 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();

On va ajouter un bouton.

JPanel unpanel = new JPanel();F.add(unpanel);JButtonJButton unbouttonunboutton=new =new JButtonJButton("Bonjour");("Bonjour");unpanel.add(unpanel.add(unbouttonunboutton););F.setVisible(true);}} On va créer un bouton.

On va l’ajouter au conteneur.

Page 19: SWING

Une Interface GraphiqueUne Interface Graphiqueimport 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);

On va ajouter un bouton.

F.setSize(340,200);JPanel unpanel = new JPanel();F.add(unpanel);JButtonJButton unbouttonunboutton=new =new JButtonJButton("Bonjour");("Bonjour");unpanel.add(unpanel.add(unbouttonunboutton););F.setVisible(true);}} On va créer un bouton.

On va l’ajouter au conteneur.

Page 20: SWING

Une interface GraphiqueUne interface Graphique

Il est aussi possible de modifier la dimension de notre bouton.

JButton unboutton=new JButton("Bonjour");

unboutton.setPreferredSize(new Dimension(230, 44)) ;

Page 21: SWING

Une interface GraphiqueUne 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;

Page 22: SWING

Une interface GraphiqueUne interface Graphique

Il est aussi possible de modifier la dimension de notre bouton.

JButton unboutton=new JButton("Bonjour");

unboutton.setPreferredSize(new Dimension(230, 44)) ;

Page 23: SWING

Ajouter des composantsAjouter des composants

� Les étapes à suivre :

� Création d'une interface graphique

� Création d'un panel (Conteneur)

� Création des composants� Création des composants

� Ajout du panel à l'interface graphique

� Ajout des composants au conteneur

Page 24: SWING

Ajouter des composantsAjouter des composants

� Les étapes à suivre :

� Création d'une interface graphique

� Création d'un panel (Conteneur)

� Création des composants� Création des composants

� Ajout du panel à l'interface graphique

� Ajout des composants au conteneur

Page 25: SWING

Ajouter des composantsAjouter des composants

� Les étapes à suivre :

� Création d'une interface graphique

� Création d'un panel (Conteneur)

� Création des composants� Création des composants

� Ajout du panel à l'interface graphique

� Ajout des composants au conteneur

Page 26: SWING

Ajouter des composantsAjouter des composants

� Les étapes à suivre :

� Création d'une interface graphique

� Création d'un panel (Conteneur)

� Création des composants� Création des composants

� Ajout du panel à l'interface graphique

� Ajout des composants au conteneur

Page 27: SWING

Une interface GraphiqueUne interface Graphique

package Fenetre;

import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;

public class Feni {

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);

}}

Page 28: SWING

Une interface GraphiqueUne interface Graphique

package Fenetre;

import javax.swing.JButton;import javax.swing.JFrame;

import javax.swing.JLabel;import javax.swing.JPanel;

public class Feni {

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);

JLabelJLabel label = new label = new JLabelJLabel("Ecrire un texte dans la ("Ecrire un texte dans la fenêtre");fenêtre");unpanel.add(label);unpanel.add(label);

F.setVisible(true);

}}

Création du texte Ajout dans le conteneur

Page 29: SWING

Une interface GraphiqueUne interface Graphique

package Fenetre;

import javax.swing.JButton;import javax.swing.JFrame;

import javax.swing.JLabel;import javax.swing.JPanel;

public class Feni {

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);unpanel.add(label);F.setVisible(true);

}}Création du texte

Ajout dans le conteneur

Page 30: SWING

Une interface GraphiqueUne 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);

JLabelJLabel label = new label = new JLabelJLabel("Ecrire un texte dans la ("Ecrire un texte dans la fenêtre");fenêtre");unpanel.add(label);unpanel.add(label);

F.setVisible(true);

}}

Page 31: SWING

Une interface GraphiqueUne interface Graphique

Pour attribuer un comportement, il faudra poser des écouteurs.

Un écouteur permet de réaliser une ou plusieurs actions actions

lorsque l'on clique sur un bouton.

Ces actions sont programmées dans la partie écouteur.

Page 32: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Bien prendre les bonnes habitudes dés le départ.

Pour créer des interfaces graphiques, il faut 2 classes.2 classes.

• Une classe qui va contenir la méthode principale.

• Une autre classe qui va contenir le code de la fenêtre

Page 33: SWING

Une interface GraphiqueUne interface Graphique

class FenetreBoutons extends JFrameimplements ActionListener

Page 34: SWING

Une interface GraphiqueUne interface Graphique

class Fenetre extends JFrame implementsActionListener

La classe hérite de la classe JFrame

Page 35: SWING

Une interface GraphiqueUne interface Graphique

class Fenetre extends JFrame implementsActionListener

La classe implémente les méthodes de la classe ActionListener.

Page 36: SWING

Une interface GraphiqueUne interface Graphique

Pour informer le compilateur que le bouton doit être écouté :

JButton unbouton = new JButton("Bonjour") ;

unboutton.addActionListener(this);

Page 37: SWING

Une interface GraphiqueUne interface Graphique

Pour informer le compilateur que le bouton doit être écouté :

JButton unbouton = new JButton("Bonjour") ;

unboutton.addActionListener(this);

Le nom du boutton

Page 38: SWING

Une interface GraphiqueUne 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) ;System.out.println ("Appui sur le bouton Bonjour" + nbAppuie) ;}

Le comportement doit être écrit Le comportement doit être écrit à ce niveau . à ce niveau .

Page 39: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Et si j’ai plusieurs boutons.

Comment faire la différence??Comment faire la différence??

Page 40: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ; //Création des boutons

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

JPanel contenu =new Jpanel(); //Création des conteneurs

super.add(contenu);super.add(contenu);

contenu.add(monBouton1) ; //ajout des boutons dans le conteneur.

contenu.add(monBouton2) ;

contenu.add(monBouton3) ;

monBouton1.addActionListener(this); //affectation des écouteurs

monBouton2.addActionListener(this);

monBouton3.addActionListener(this);

Page 41: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ; //Création des boutons

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

JPanel contenu =new Jpanel(); //Création des conteneurs

super.add(contenu);super.add(contenu);

contenu.add(monBouton1) ; //ajout des boutons dans le conteneur.

contenu.add(monBouton2) ;

contenu.add(monBouton3) ;

monBouton1.addActionListener(this); //affectation des écouteurs

monBouton2.addActionListener(this);

monBouton3.addActionListener(this);

Page 42: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ; //Création des boutons

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

JPanel contenu =new Jpanel(); //Création des conteneurs

super.add(contenu);super.add(contenu);

contenu.add(monBouton1) ; //ajout des boutons dans le conteneur.

contenu.add(monBouton2) ;

contenu.add(monBouton3) ;

monBouton1.addActionListener(this); //affectation des écouteurs

monBouton2.addActionListener(this);

monBouton3.addActionListener(this);

Page 43: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ; //Création des boutons

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

JPanel contenu =new Jpanel(); //Création des conteneurs

super.add(contenu);super.add(contenu);

contenu.add(monBouton1) ; //ajout des boutons dans le conteneur.

contenu.add(monBouton2) ;

contenu.add(monBouton3) ;

monBouton1.addActionListener(this); //affectation des écouteurs

monBouton2.addActionListener(this);

monBouton3.addActionListener(this);

Page 44: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ;

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

public void actionPerformed (ActionEvent evev)

{ String button = ev.getActionCommand() ;{ String button = ev.getActionCommand() ;if ( button.equals("Premier boutton"))

{

}

if ( button.equals("Deuxième boutton"))

{

}

if ( button.equals("Troisième bouton"))

{

}

}

Page 45: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ;

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

public void actionPerformed (ActionEvent ev)

{ String button = ev.getActionCommand() ;

if ( button.equals("Premier boutton"))if ( button.equals("Premier boutton"))

{

}

if ( button.equals("Deuxième boutton"))

{

}

if ( button.equals("Troisième bouton"))

{

}

}

Page 46: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = monBouton1 = new new JButtonJButton ("Premier ("Premier bouttonboutton") ; ") ;

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

public void actionPerformed (ActionEvent ev)

{ String button = ev.getActionCommand() ;

if ( if ( button.equalsbutton.equals("Premier ("Premier bouttonboutton"))"))if ( if ( button.equalsbutton.equals("Premier ("Premier bouttonboutton"))"))

{

}

if ( button.equals("Deuxième boutton"))

{

}

if ( button.equals("Troisième bouton"))

{

}

}

Page 47: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ;

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

public void actionPerformed (ActionEvent ev)

{ String button = ev.getActionCommand() ;

if ( button.equals("Premier boutton"))if ( button.equals("Premier boutton"))

{

}

if ( button.equals("Deuxième boutton"))

{

}

if ( button.equals("Troisième bouton"))

{

}

}

Page 48: SWING

Les interfaces GraphiquesLes interfaces Graphiques

monBouton1 = new JButton ("Premier boutton") ;

monBouton2 = new JButton ("Deuxième boutton") ;

monBouton3 = new JButton ("Troisième bouton") ;

public void actionPerformed (ActionEvent ev)

{ String button = ev.getActionCommand() ;

if ( button.equals("Premier boutton"))if ( button.equals("Premier boutton"))

{

}

if ( button.equals("Deuxième boutton"))

{

}

if ( button.equals("Troisième bouton"))

{

}

}

Page 49: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Insérer des champs de texte :

Page 50: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Affecter une valeur par défaut à un champ de texte

champ1.setText("bonjour");

Page 51: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Affecter une valeur par défaut à un champ de texte

champ1.setText("bonjour");

Page 52: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Récupérer le contenu d’un champ de texte

La valeur est « bonjour »

Page 53: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Insérer une étiquette:

JLabel usernameLabel=new JLabel("Nom");

Page 54: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Insérer une étiquette:

JLabel usernameLabel=new Jlabel("Nom");

Page 55: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Les boites à cocher

Page 56: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Les boites à cocher

Page 57: SWING

Les interfaces GraphiquesLes 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 ».

Page 58: SWING

Les interfaces GraphiquesLes 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.

Page 59: SWING

Les interfaces GraphiquesLes 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.

Page 60: SWING

Les interfaces GraphiquesLes 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.

Page 61: SWING

Les interfaces GraphiquesLes 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.

Page 62: SWING

Les interfaces GraphiquesLes 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.

Page 63: SWING

Les interfaces GraphiquesLes interfaces Graphiques

Les boites combinées

Page 64: SWING

Les interfaces GraphiquesLes interfaces Graphiquesprivate String[] nombres = {"Choix" ,"un", "deux", "trois", "quatre", "cinq", "six" } ;private JComboBox combobox ;public Fenetre(){ setTitle ("Boite combinée") ;setSize (250, 100) ;JPanel contenu= new JPanel();combobox = new JComboBox(nombres) ;combobox.setEditable (true) ;combobox.setEditable (true) ;contenu.add(combobox) ;combobox.addActionListener (this) ;super.add(contenu);}

A ce niveau, on définit le texte pour chaque choix.

Page 65: SWING

Les interfaces GraphiquesLes interfaces Graphiquesprivate String[] nombres = {"Choix" ,"un", "deux", "trois", "quatre", "cinq", "six" } ;

private JComboBox combobox ;public Fenetre(){ setTitle ("Boite combinée") ;setSize (250, 100) ;JPanel contenu= new JPanel();

combobox = new JComboBox(nombres) ;combobox.setEditable (true) ;contenu.add(combobox) ;contenu.add(combobox) ;combobox.addActionListener (this) ;super.add(contenu);}

On charge le texte dans la combobox.

Page 66: SWING

Le gestionnaire de mise en forme

Border LayoutBorder Layout

Page 67: SWING

Les interfaces GraphiquesLes 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 )- Nord ( North )

- Sud ( South)

- Est (East)

- Ouest ( West)

- Centre ( Center)

Page 68: SWING

Les interfaces graphiquesLes 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 )

Page 69: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 70: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 71: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 72: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Contenu du texte

Page 73: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Type du composant

Page 74: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Position dans la fenêtre

Page 75: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 76: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 77: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 78: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 79: SWING

Les interfaces GraphiquesLes interfaces Graphiquespackage unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Test BorderLayout") ; setSize(250, 200) ;Container contenu = getContentPane() ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.setLayout(new BorderLayout(3,5)) ;contenu.add(new JButton("Centre"),"Center") ;contenu.add(new JButton(" Nord"), "North") ;contenu.add(new JButton(" Sud"), "South") ;contenu.add(new JButton("Ouest"), "West") ;contenu.add(new JButton("Est"), "East") ;}}

Page 80: SWING

GESTIONNAIRE DE MISE EN FORME :FORME :

FLOW LAYOUT

Page 81: SWING

� Le gestionnaire de mise en forme FLOW LAYOUT, permet de placer les composants les

� uns à la suite des autres, de gauche à droite.� uns à la suite des autres, de gauche à droite.

Page 82: SWING

� Le gestionnaire de mise en forme FLOW LAYOUT, permet de placer les composants les

� uns à la suite des autres, de gauche à droite.� uns à la suite des autres, de gauche à droite.

Page 83: SWING

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 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 boutonscontenu.add(deux);contenu.add(trois);contenu.add(quatre);contenu.add(cinq);contenu.add(six);contenu.add(sept);contenu.add(huit);super.setResizable(false);} }

Page 84: SWING

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 cinq = new JButton("5");JButton six = new JButton("6");JButton sept = new JButton("7");JButton huit = new JButton("8");contenu.add(un); //ajout des boutonscontenu.add(deux);contenu.add(trois);contenu.add(quatre);contenu.add(cinq);contenu.add(six);contenu.add(sept);contenu.add(huit);super.setResizable(false);} }

Page 85: SWING

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 cinq = new JButton("5");JButton six = new JButton("6");JButton sept = new JButton("7");JButton huit = new JButton("8");contenu.add(un); //ajout des boutonscontenu.add(deux);contenu.add(trois);contenu.add(quatre);contenu.add(cinq);contenu.add(six);contenu.add(sept);contenu.add(huit);super.setResizable(false);} }

Page 86: SWING

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 cinq = new JButton("5");JButton six = new JButton("6");JButton sept = new JButton("7");JButton huit = new JButton("8");contenu.add(un); //ajout des boutonscontenu.add(deux);contenu.add(trois);contenu.add(quatre);contenu.add(cinq);contenu.add(six);contenu.add(sept);contenu.add(huit);super.setResizable(false);} }

Page 87: SWING

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 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);} }

Page 88: SWING

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 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);} }

Page 89: SWING

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 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);} }

Page 90: SWING

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 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);} }

Page 91: SWING

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 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);} }

Page 92: SWING

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 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);} }

Page 93: SWING

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 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);} }

Page 94: SWING

GESTIONNAIRE DE MISE EN FORME : GRIDLAYOUTFORME : GRIDLAYOUT

Page 95: SWING

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

Page 96: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On va définir un GridLayout

Page 97: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

Page 98: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

A chaque ajout d’un élément,Celui-ci vient se placer à la suite du précédent.

Page 99: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

A chaque ajout d’un élément,Celui-ci vient se placer à la suite du précédent.

Page 100: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

A chaque ajout d’un élément,Celui-ci vient se placer à la suite du précédent.

Page 101: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

A chaque ajout d’un élément,Celui-ci vient se placer à la suite du précédent.

Page 102: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

A chaque ajout d’un élément,Celui-ci vient se placer à la suite du précédent.

Page 103: SWING

package unpack;import java.awt.* ;import javax.swing.* ;class Fenetre extends JFrame {public Fenetre () {super("Un exemple GRIDLAYOUT") ; setSize(300, 200) ;Container contenu = getContentPane() ;

contenu.setLayout(new GridLayout(4, 3)) ;contenu.add(new JButton("CAROTTE")) ;contenu.add(new JButton("TOMATE")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("POMME")) ;contenu.add(new JButton("ORANGE")) ;contenu.add(new JButton("CERISE")) ;contenu.add(new JButton("ANANAS")) ;contenu.add(new JButton("PECHE")) ;contenu.add(new JButton("PIMENT")) ;contenu.add(new JButton("CLEMENTINE")) ;contenu.add(new JButton("KAKI")) ;contenu.add(new JButton("RAISIN")) ;contenu.add(new JButton("FRAISE")) ;}}

On dit qu’il 4 lignes et 3 colonnes

A chaque ajout d’un élément,Celui-ci vient se placer à la suite du précédent.