CardLayout | Java Swing

La classe CardLayout gère les composants de telle manière qu’un seul composant est visible à la fois. Il traite chaque composant comme une carte, c’est pourquoi il est appelé CardLayout.

Les constructeurs de la classe CardLayout sont :

Constructeurs de CardLayout
Description
CardLayout() Disposer les composants sous forme de carte avec zéro espace horizontal et vertical.
CardLayout(int h, int v) Crée une disposition de carte avec l’écart horizontal et vertical donné.

 
 
Les méthodes couramment utilisée de CardLayout sont les suivantes:

  • public void next(Container parent): est utilisé pour retourner à la prochaine carte du conteneur donné.
  • public void previous(Container parent): est utilisé pour retourner à la carte précédente du conteneur donné.
  • public void first(Container parent): est utilisé pour retourner à la première carte du conteneur donné.
  • public void last(Container parent): est utilisé pour retourner à la dernière carte du conteneur donné.
  • public void show(Container parent, String name): est utilisé pour retourner à la carte spécifiée avec le nom donné.

 

Exemple:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyCardLayout extends JFrame implements ActionListener
{
	CardLayout card;
	Container c;
	
	MyCardLayout()
	{	
		c = getContentPane();
		//créer un objet CardLayout avec 30 espaces hor et 20 espaces ver
		card = new CardLayout(30,20);
		c.setLayout(card);
		
		JButton btn1 = new JButton("Welcome");
		JButton btn2 = new JButton("To");
		JButton btn3 = new JButton("WayToLearnX");
		
		btn1.addActionListener(this);
		btn2.addActionListener(this);
		btn3.addActionListener(this);
			
		c.add("a",btn1);c.add("b",btn2);c.add("c",btn3);
						
	}
	public void actionPerformed(ActionEvent e) {
		card.next(c);
	}

	public static void main(String[] args) {
		MyCardLayout frame = new MyCardLayout();
		frame.setSize(300,300);
		frame.setVisible(true);
		frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
}

Sortie:


 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *