Classe GridLayout

Ce gestionnaire de placement permet de placer des composants graphiques selon une grille.

Constructeurs

public GridLayout (int rows, int cols)
        // Permet gestionnaire de placements de composant ayant la forme d'une grille
        // de rows lignes par cols colonnes.
public GridLayout (int rows, int cols, int hgap, int vgap)
        // idem constructeur précédent avec un espacement horizontal et vertical entre les composants de
        // hgap et vgap pixels (par défaut égal à 0).

Méthodes

void addLayoutComponent (String name, Component comp)
         // Méthode non utilisée par la classe FlowLayout.
void removeLayoutComponent (Component comp)
         // Retire le composant comp de la mise en page.
Dimension preferredLayoutSize (Container target)
        // Renvoie la dimension préférée mise en oeuvre dans le conteneur target lorsque ce
        // gestionnaire de mise  en page est utilisé.
Dimension minimumLayoutSize (Container target)
         // Renvoie la dimension minimale mise en oeuvre dans le conteneur target lorsque ce
        // gestionnaire de rnise en page est utilisé.
void layoutContainer (Container target)
        // Soumet le conteneur target au gestionnaire de mise en page.
String toString ()
        // Renvoie une chaîne de caractères qui représente l'objet.

Exemple :

import java.awt.*;  // jdk1.02

public class Fevent extends Frame { 
    GridLayout gl; 
    TextField t0, t1, t2; 
    Button Cube, Fermer ; 
    Choice c ; 

    public Fevent() { // Constructeur 
           Fermer = new Button("Fermer"); 
           Cube = new Button("Cube"); 
           t0 = new TextField();      t1 = new TextField();      t2 = new TextField(); 
           c = new Choice(); 
           gl= new GridLayout(2,3); 
           // Le gridlayout vient se confondre avec la fenêtre 
           setLayout(gl); 
           add(c);        add(t0);        add(Fermer);        add(Cube);        add(t1);        add(t2); 
           // remplissage de la zone de liste 
           c.addItem("Vannes");  c.addItem("Lorient");   c.addItem("Brest");   c.addItem("Paris"); 
        }  

     public boolean handleEvent(Event e)  {// Gestion des événements 
            if (e.id == Event.WINDOW_DESTROY)  { 
                  System.exit(0) ;  
            } 
            return super.handleEvent(e) ; 
        }  

     public boolean action(Event e, Object arg)  {  
            // Pour chaque objet on peut aussi tester en plus, le type 
           // d'évênement qui s'est produit : if (e.id == TypeEvenement) ... 
           if (e.target == Fermer)  System.exit(0) ; 
           if (e.target == c)  t0.setText(c.getSelectedItem()); 
           if (e.target == Cube) { 
               try {// parseInt : méthode de la classe Integer converti une chaine 
                       //en entier, la convertion doit être soumise à condition en 
                       // cas d'erreur de saisie   (saisie de caractères par exemple) 
                       int isource = Integer.parseInt(t1.getText()); 
                       isource = isource * isource * isource; 
                       // ssource récupère la valeur entière de isource 
                       String ssource = new Integer(isource).toString(); 
                       t2.setText(ssource); 
                       t2.setBackground(Color.cyan); 
                    } 
                catch (NumberFormatException nfe) {}; 
           } 
        return true; 
        }  

     static public void main(String[] args)  { 
          Fevent f = new Fevent(); 
          f.setTitle("Fenêtre avec gridLayout"); 
          f.resize(500,400); 
          f.show(); 
          f.pack(); 
        } 
      }

     A l'exécution,  Un clic sur Fermer                 Ecran après sélection dans la liste déroulante c,
     permet de fermer la fenêtre.                            saisie d'un chiffre en t1 et clic sur Cube.