• 选项卡 ```java public static void main(String[] args) {

      1. Frame f = new Frame("CardLayout");
      2. f.setSize(400, 600);
      3. f.setVisible(true);
      4. //创建2个Panel容器,一个存放按钮,一个存放卡片
      5. Panel p1 = new Panel();
      6. Panel p2 = new Panel();
      7. //创建5个按钮,并将其添加到p1中
      8. Button b1 = new Button("number 1");
      9. Button b2 = new Button("number 2");
      10. Button b3 = new Button("number 3");
      11. Button b4 = new Button("number 4");
      12. Button b5 = new Button("number 5");
      13. p1.add(b1);
      14. p1.add(b2);
      15. p1.add(b3);
      16. p1.add(b4);
      17. p1.add(b5);
    1. //将p2设置为CardLayout,并添加5个组件,每个组件都相当于一个卡片
    2. CardLayout cardLayout = new CardLayout();
    3. p2.setLayout(cardLayout);
    4. p2.add("number 1",new Button("number 1"));
    5. p2.add("number 2",new Button("number 2"));
    6. p2.add("number 3",new Button("number 3"));
    7. p2.add("number 4",new Button("number 4"));
    8. p2.add("number 5",new Button("number 5"));
    9. //将p1中的5个按钮,分别添加监听事件,当用户单击时,显示指定的卡片
    10. ActionListener listener = new ActionListener() {
    11. @Override
    12. public void actionPerformed(ActionEvent e) {
    13. String command = e.getActionCommand();
    14. cardLayout.show(p2,command);
    15. }
    16. };
    17. b1.addActionListener(listener);
    18. b2.addActionListener(listener);
    19. b3.addActionListener(listener);
    20. b4.addActionListener(listener);
    21. b5.addActionListener(listener);
    22. //将两个Panel容器添加到Frame中
    23. f.add(p1,BorderLayout.NORTH);
    24. f.add(p2);
    25. }

    ``` image.png