This article describes the use of card layout manager for Java programming. Share it for your reference, as follows:
Running effect:
Complete sample code:
package com.han;import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.SwingConstants;/** * Using Card Layout Manager* @author HAN * */public class CardLayout_1 extends JFrame { /** * */ private static final long serialVersionUID = -5255525755443566487L; public CardLayout_1() { // TODO Auto-generated constructor stub Container container = getContentPane(); final CardLayout cardLayout = new CardLayout(); final JPanel cardPanel = new JPanel(cardLayout); String[] cardNames = { "Card A", "Card B", "Card C" }; for (int i = 0; i < cardNames.length; i++) {// JLabel label = new JLabel(cardNames[i]); JLabel label = new JLabel(cardNames[i], SwingConstants.CENTER);// cardPanel.add(label); cardPanel.add(label, cardNames[i]); } container.add(cardPanel, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(); // by default, the flow layout container.add(buttonPanel, BorderLayout.SOUTH); String[] buttonNames = { "first", "previous", "card A", "card B", "card C", "last", "last" }; for (int i = 0; i < buttonNames.length; i++) { final JButton button = new JButton(buttonNames[i]); buttonPanel.add(button); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub String buttonText = button.getText(); if (buttonText.equals("first")) { cardLayout.first(cardPanel); } else if (buttonText.equals("previous")) { cardLayout.previous(cardPanel); } else if (buttonText.equals("cardA")) { cardLayout.show(cardPanel, "CardA"); } else if (buttonText.equals("CardB")) { cardLayout.show(cardPanel, "CardB"); } else if (buttonText.equals("CardC")) { cardLayout.show(cardPanel, "CardC"); } else if (buttonText.equals("Last")) { cardLayout.next(cardPanel); } else { cardLayout.last(cardPanel); } } }); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub CardLayout_1 frame = new CardLayout_1(); frame.setTitle("www.VeVB.COM - Using Card Layout Manager"); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); }}For more information about Java algorithms, readers who are interested in this site can view the topics: "Java Data Structure and Algorithm Tutorial", "Summary of Java Operation DOM Node Tips", "Summary of Java File and Directory Operation Tips" and "Summary of Java Cache Operation Tips"
I hope this article will be helpful to everyone's Java programming.