Science, Tech, Math › Computer Science CardLayout Example Program Share Flipboard Email Print Juhari Muhade/Getty Images Computer Science Java Programming PHP Programming Perl Python Javascript Programming Delphi Programming C & C++ Programming Ruby Programming Visual Basic View More By Paul Leahy Paul Leahy Computer Science Expert M.A., Advanced Information Systems, University of Glasgow Paul Leahy is a computer programmer with over a decade of experience working in the IT industry, as both an in-house and vendor-based developer. Learn about our Editorial Process Updated on November 05, 2019 The following is an example of the Java code you can use to show the CardLayout layout manager in action. 01 of 02 Java Code The JFrame uses a BorderLayout to position two JPanels, one above the other. The top panel uses the FlowLayout to show a "Switch Card" button which controls which card is show in the bottom panel. The bottom panel uses the CardLayout to position two JPanels. The JPanel on show is determined by the CardLayout (which is changed to the next card by pressing the "Switch Card" button). //Imports are listed in full to show what's being used //could just import javax.swing.* and java.awt.* etc.. import java.awt.EventQueue; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import javax.swing.BorderFactory; import javax.swing.border.Border; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JComboBox; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.SwingConstants; import java.awt.Container; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class CardLayoutExample { JFrame guiFrame; CardLayout cards; JPanel cardPanel; public static void main(String[] args) { //Use the event dispatch thread for Swing components EventQueue.invokeLater(new Runnable() { @Override public void run() { new CardLayoutExample(); } }); } public CardLayoutExample() { guiFrame = new JFrame(); //make sure the program exits when the frame closes guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); guiFrame.setTitle("CardLayout Example"); guiFrame.setSize(400,300); //This will center the JFrame in the middle of the screen guiFrame.setLocationRelativeTo(null); guiFrame.setLayout(new BorderLayout()); //creating a border to highlight the JPanel areas Border outline = BorderFactory.createLineBorder(Color.black); JPanel tabsPanel = new JPanel(); tabsPanel.setBorder(outline); JButton switchCards = new JButton("Switch Card"); switchCards.setActionCommand("Switch Card"); switchCards.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) { cards.next(cardPanel); } }); tabsPanel.add(switchCards); guiFrame.add(tabsPanel,BorderLayout.NORTH); cards = new CardLayout(); cardPanel = new JPanel(); cardPanel.setLayout(cards); cards.show(cardPanel, "Fruits"); JPanel firstCard = new JPanel(); firstCard.setBackground(Color.GREEN); addButton(firstCard, "APPLES"); addButton(firstCard, "ORANGES"); addButton(firstCard, "BANANAS"); JPanel secondCard = new JPanel(); secondCard.setBackground(Color.BLUE); addButton(secondCard, "LEEKS"); addButton(secondCard, "TOMATOES"); addButton(secondCard, "PEAS"); cardPanel.add(firstCard, "Fruits"); cardPanel.add(secondCard, "Veggies"); guiFrame.add(tabsPanel,BorderLayout.NORTH); guiFrame.add(cardPanel,BorderLayout.CENTER); guiFrame.setVisible(true); } //All the buttons are following the same pattern //so create them all in one place. private void addButton(Container parent, String name) { JButton but = new JButton(name); but.setActionCommand(name); parent.add(but); } } 02 of 02 Additional Information The article that goes with this example is Using the CardLayout. For more information on other layout managers, have a look at an Overview of Layout Managers. Cite this Article Format mla apa chicago Your Citation Leahy, Paul. "CardLayout Example Program." ThoughtCo, Aug. 28, 2020, thoughtco.com/cardlayout-example-program-2033962. Leahy, Paul. (2020, August 28). CardLayout Example Program. Retrieved from https://www.thoughtco.com/cardlayout-example-program-2033962 Leahy, Paul. "CardLayout Example Program." ThoughtCo. https://www.thoughtco.com/cardlayout-example-program-2033962 (accessed May 29, 2023). copy citation