Classe AWT CardLayout

introduction

La classe CardLayoutorganise chaque composant dans le conteneur comme une carte. Une seule carte est visible à la fois et le conteneur agit comme une pile de cartes.

Déclaration de classe

Voici la déclaration pour java.awt.CardLayout classe:

public class CardLayout
   extends Object
      implements LayoutManager2, Serializable

Constructeurs de classe

SN Constructeur et description
1

CardLayout()

Crée une nouvelle mise en page de carte avec des espaces de taille zéro.

2

CardLayout(int hgap, int vgap)

Crée une nouvelle mise en page de carte avec les espaces horizontaux et verticaux spécifiés.

Méthodes de classe

SN Méthode et description
1

void addLayoutComponent(Component comp, Object constraints)

Ajoute le composant spécifié à la table de noms interne de cette présentation de carte.

2

void addLayoutComponent(String name, Component comp)

Si le gestionnaire de mise en page utilise une chaîne par composant, ajoute la composition de composant à la mise en page, en l'associant à la chaîne spécifiée par son nom.

3

void first(Container parent)

Retourne à la première carte du conteneur.

4

int getHgap()

Obtient l'écart horizontal entre les composants.

5

float getLayoutAlignmentX(Container parent)

Renvoie l'alignement le long de l'axe x.

6

float getLayoutAlignmentY(Container parent)

Renvoie l'alignement le long de l'axe y.

sept

int getVgap()

Obtient l'écart vertical entre les composants.

8

void invalidateLayout(Container target)

Invalide la mise en page, indiquant que si le gestionnaire de mise en page a mis des informations en cache, elles doivent être supprimées.

9

void last(Container parent)

Retourne à la dernière carte du conteneur.

dix

void layoutContainer(Container parent)

Dispose le conteneur spécifié en utilisant cette disposition de carte.

11

Dimension maximumLayoutSize(Container target)

Renvoie les dimensions maximales de cette mise en page en fonction des composants du conteneur cible spécifié.

12

Dimension minimumLayoutSize(Container parent)

Calcule la taille minimale du panneau spécifié.

13

void next(Container parent)

Passe à la carte suivante du conteneur spécifié.

14

Dimension preferredLayoutSize(Container parent)

Détermine la taille préférée de l'argument conteneur à l'aide de cette disposition de carte.

15

void previous(Container parent)

Retourne à la carte précédente du conteneur spécifié.

16

void removeLayoutComponent(Component comp)

Supprime le composant spécifié de la présentation.

17

void setHgap(int hgap)

Définit l'écart horizontal entre les composants.

18

void setVgap(int vgap)

Définit l'écart vertical entre les composants.

19

void show(Container parent, String name)

Bascule vers le composant qui a été ajouté à cette mise en page avec le nom spécifié, à l'aide de addLayoutComponent.

20

String toString()

Renvoie une représentation sous forme de chaîne de l'état de cette disposition de carte.

Méthodes héritées

Cette classe hérite des méthodes des classes suivantes:

  • java.lang.Object

Exemple de CardLayout

Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans say D:/ > AWT > com > tutorialspoint > gui >

AwtLayoutDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class AwtLayoutDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   private Label msglabel;

   public AwtLayoutDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtLayoutDemo  awtLayoutDemo = new AwtLayoutDemo();  
      awtLayoutDemo.showCardLayoutDemo();       
   }
      
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      msglabel = new Label();
      msglabel.setAlignment(Label.CENTER);
      msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showCardLayoutDemo(){
      headerLabel.setText("Layout in action: CardLayout");      

      final Panel panel = new Panel();
      panel.setBackground(Color.CYAN);
      panel.setSize(300,300);

      CardLayout layout = new CardLayout();
      layout.setHgap(10);
      layout.setVgap(10);
      panel.setLayout(layout);        

      Panel buttonPanel = new Panel(new FlowLayout());

      buttonPanel.add(new Button("OK"));
      buttonPanel.add(new Button("Cancel"));    

      Panel textBoxPanel = new Panel(new FlowLayout());

      textBoxPanel.add(new Label("Name:"));
      textBoxPanel.add(new TextField(20));

      panel.add("Button", buttonPanel);
      panel.add("Text", textBoxPanel);

      Choice choice = new Choice();
      choice.add("Button");
      choice.add("Text");

      choice.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            CardLayout cardLayout = (CardLayout)(panel.getLayout());
            cardLayout.show(panel, (String)e.getItem());
         }
      });
      controlPanel.add(choice);
      controlPanel.add(panel);

      mainFrame.setVisible(true);  
   }
}

Compilez le programme à l'aide de l'invite de commande. Aller àD:/ > AWT et tapez la commande suivante.

D:\AWT>javac com\tutorialspoint\gui\AwtlayoutDemo.java

Si aucune erreur ne survient, cela signifie que la compilation est réussie. Exécutez le programme en utilisant la commande suivante.

D:\AWT>java com.tutorialspoint.gui.AwtlayoutDemo

Vérifiez la sortie suivante