Java使用卡片布局管理器


Java使用卡片布局管理器:

  1. package com.han;  
  2.   
  3. import java.awt.BorderLayout;  
  4. import java.awt.CardLayout;  
  5. import java.awt.Container;  
  6. import java.awt.event.ActionEvent;  
  7. import java.awt.event.ActionListener;  
  8.   
  9. import javax.swing.JButton;  
  10. import javax.swing.JFrame;  
  11. import javax.swing.JLabel;  
  12. import javax.swing.JPanel;  
  13. import javax.swing.SwingConstants;  
  14.   
  15. /** 
  16.  * 使用卡片布局管理器 
  17.  * @author HAN 
  18.  * 
  19.  */  
  20. public class CardLayout_1 extends JFrame {  
  21.   
  22.     /** 
  23.      *  
  24.      */  
  25.     private static final long serialVersionUID = -5255525755443566487L;  
  26.   
  27.     public CardLayout_1() {  
  28.         // TODO Auto-generated constructor stub   
  29.         Container container = getContentPane();  
  30.         final CardLayout cardLayout = new CardLayout();  
  31.         final JPanel cardPanel = new JPanel(cardLayout);  
  32.         String[] cardNames = { "卡片A""卡片B""卡片C" };  
  33.         for (int i = 0; i < cardNames.length; i++) {  
  34. //          JLabel label = new JLabel(cardNames[i]);   
  35.             JLabel label = new JLabel(cardNames[i], SwingConstants.CENTER);  
  36. //          cardPanel.add(label);   
  37.             cardPanel.add(label, cardNames[i]);  
  38.         }  
  39.         container.add(cardPanel, BorderLayout.CENTER);  
  40.         JPanel buttonPanel = new JPanel(); // by default, the flow layout   
  41.         container.add(buttonPanel, BorderLayout.SOUTH);  
  42.         String[] buttonNames = { "第一个""前一个""卡片A""卡片B""卡片C",  
  43.                 "后一个""最后一个" };  
  44.         for (int i = 0; i < buttonNames.length; i++) {  
  45.             final JButton button = new JButton(buttonNames[i]);  
  46.             buttonPanel.add(button);  
  47.             button.addActionListener(new ActionListener() {  
  48.   
  49.                 @Override  
  50.                 public void actionPerformed(ActionEvent e) {  
  51.                     // TODO Auto-generated method stub   
  52.                     String buttonText = button.getText();  
  53.                     if (buttonText.equals("第一个")) {  
  54.                         cardLayout.first(cardPanel);  
  55.                     } else if (buttonText.equals("前一个")) {  
  56.                         cardLayout.previous(cardPanel);  
  57.                     } else if (buttonText.equals("卡片A")) {  
  58.                         cardLayout.show(cardPanel, "卡片A");  
  59.                     } else if (buttonText.equals("卡片B")) {  
  60.                         cardLayout.show(cardPanel, "卡片B");  
  61.                     } else if (buttonText.equals("卡片C")) {  
  62.                         cardLayout.show(cardPanel, "卡片C");  
  63.                     } else if (buttonText.equals("后一个")) {  
  64.                         cardLayout.next(cardPanel);  
  65.                     }else {  
  66.                         cardLayout.last(cardPanel);  
  67.                     }  
  68.                 }  
  69.   
  70.             });  
  71.         }  
  72.     }  
  73.   
  74.     /** 
  75.      * @param args 
  76.      */  
  77.     public static void main(String[] args) {  
  78.         // TODO Auto-generated method stub   
  79.         CardLayout_1 frame = new CardLayout_1();  
  80.         frame.setTitle("使用卡片布局管理器");  
  81.         frame.setVisible(true);  
  82.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  83.         frame.pack();  
  84.     }  
  85.   
  86. }  

相关内容