Classe CardLayout

Ce gestionnaire de placement est utilisé pour la gestion de zones qui peuvent contenir des composants différents à différents moments.

Constructeurs

CardLayout ()
        // Permet de créer un CardLayout
CardLayout (int hgap, int vgap)
        //Les espacements  horizontal et vertical des composants sont de hgap et vgal pixels.

Quelques méthodes

void addLayoutComponent(String name, Component comp)
        // Utilise le paramètre name pour associer une chaîne de caractères au composant ou au container comp.
void first (Container parent)
        // permet d'afficher le premier des composants ou des sous-containers du layout.
        // parent doit être égal au container auquel est associé ce layout.
void IayoutContainer(Container target)
        // Soumet le conteneur target au gestionnaire de mise en page.
void last (Container parent)
         // permet d'afficher le dernier des composants ou des sous-containers du layout.
        // parent doit être égal au container auquel est associé ce layout.
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 next (Container parent)
        // permet d'afficher le composant suivant des composants ou des sous-containers du layout.
        // parent doit être égal au container auquel est associé ce layout.
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é.
public void previous (Container parent)
        // permet d'afficher le précédent des composants ou des sous-containers du layout.
        // parent doit être égal au container auquel est associé ce layout.
void removeLayoutComponent(Component comp)
        // Retire le composant comp de la mise en page.
public void show (Container parent, String name)
        // Affiche le composant ou le sous-container associé à la chaîne de caractères name.
        // parent doit être égal au container auquel est associé ce layout.
String toString()
        // Renvoie une chaîne de caractères qui représente l'objet.

Exemple

import java.awt.*; 

public class FcardLayout extends Frame {
  final static String s1 = "carte 1";
  final static String s2 = "carte 2";
  Panel Cards;
  Panel p1;
  Panel p2;
  Button b1 ;
  Button b2 ;
  TextField t1 ;
  TextField t2 ;

  public FcardLayout() {
     this.setLayout(new FlowLayout());
     this.setTitle("fenetre avec CardLaout");
     b1 = new Button("Afficher Card2");
     b2 = new Button("Afficher Card1");
     t1 = new TextField("Card1");
     t2 = new TextField("Card2");
     Cards = new Panel();
     p1 = new Panel();
     p2 = new Panel();
     Cards.setLayout(new CardLayout());
     p1.add(t1);
     p1.add(b1);
     Cards.add(s1,p1);
     p2.add(t2);
     p2.add(b2);
     Cards.add(s2,p2);
     add(Cards);
   } 

  public boolean handleEvent(Event e)  {
     if (e.id == Event.WINDOW_DESTROY)  {
         System.exit(0) ; 
        }
      return super.handleEvent(e) ;
  } 

  public boolean action(Event e, Object arg)
  {
   if (e.target == b1)   {
          ((CardLayout) Cards.getLayout()).show(Cards,s2);
      };
    if (e.target == b2)   {
          ((CardLayout) Cards.getLayout()).show(Cards,s1);
       };
     return true;
  } 

 static public void main(String[] args)  {
    FcardLayout f = new FcardLayout();
    f.resize(500,400);
    f.show();
    f.pack();
  }
}

A l'exécution  , après un clic sur b1