Classe AWT CardLayout

introduzione

La classe CardLayoutdispone ogni componente nel contenitore come una carta. È visibile solo una carta alla volta e il contenitore funge da pila di carte.

Dichiarazione di classe

Di seguito è riportata la dichiarazione per java.awt.CardLayout classe:

public class CardLayout
   extends Object
      implements LayoutManager2, Serializable

Costruttori di classi

SN Costruttore e descrizione
1

CardLayout()

Crea un nuovo layout di scheda con spazi di dimensione zero.

2

CardLayout(int hgap, int vgap)

Crea un nuovo layout di scheda con gli spazi orizzontali e verticali specificati.

Metodi di classe

SN Metodo e descrizione
1

void addLayoutComponent(Component comp, Object constraints)

Aggiunge il componente specificato alla tabella dei nomi interna di questo layout di scheda.

2

void addLayoutComponent(String name, Component comp)

Se il gestore layout utilizza una stringa per componente, aggiunge la composizione componente al layout, associandola alla stringa specificata dal nome.

3

void first(Container parent)

Gira alla prima carta del contenitore.

4

int getHgap()

Ottiene la distanza orizzontale tra i componenti.

5

float getLayoutAlignmentX(Container parent)

Restituisce l'allineamento lungo l'asse x.

6

float getLayoutAlignmentY(Container parent)

Restituisce l'allineamento lungo l'asse y.

7

int getVgap()

Ottiene la distanza verticale tra i componenti.

8

void invalidateLayout(Container target)

Invalida il layout, indicando che se il gestore del layout ha informazioni memorizzate nella cache, dovrebbe essere eliminato.

9

void last(Container parent)

Capovolge l'ultima carta del contenitore.

10

void layoutContainer(Container parent)

Disegna il contenitore specificato utilizzando questo layout di scheda.

11

Dimension maximumLayoutSize(Container target)

Restituisce le dimensioni massime per questo layout dati i componenti nel contenitore di destinazione specificato.

12

Dimension minimumLayoutSize(Container parent)

Calcola la dimensione minima per il pannello specificato.

13

void next(Container parent)

Passa alla carta successiva del contenitore specificato.

14

Dimension preferredLayoutSize(Container parent)

Determina la dimensione preferita dell'argomento contenitore utilizzando questo layout di scheda.

15

void previous(Container parent)

Passa alla scheda precedente del contenitore specificato.

16

void removeLayoutComponent(Component comp)

Rimuove il componente specificato dal layout.

17

void setHgap(int hgap)

Imposta la distanza orizzontale tra i componenti.

18

void setVgap(int vgap)

Imposta la distanza verticale tra i componenti.

19

void show(Container parent, String name)

Passa al componente che è stato aggiunto a questo layout con il nome specificato, utilizzando addLayoutComponent.

20

String toString()

Restituisce una rappresentazione di stringa dello stato di questo layout di scheda.

Metodi ereditati

Questa classe eredita i metodi dalle classi seguenti:

  • java.lang.Object

CardLayout Example

Crea il seguente programma java usando qualsiasi editor di tua scelta, diciamo 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);  
   }
}

Compilare il programma utilizzando il prompt dei comandi. Vai aD:/ > AWT e digita il seguente comando.

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

Se non viene visualizzato alcun errore, significa che la compilazione è riuscita. Esegui il programma utilizzando il seguente comando.

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

Verificare il seguente output