只能显示一个面板。程序中是最后一个面板,别的显示不出来,addActionListener通过输出测试没有问题,问题出在面板的显示上,怎么调试都显示不出来!import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Label;
import java.awt.List;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;//CardLayoutExample.javapublic class CardLayoutExample {
public static void main(String []args){
Frame frameExample=new Frame("CardLayoutExample!");
final CardLayout cardLayout=new CardLayout();

Panel controlPanel=new Panel();
controlPanel.setBackground(Color.pink);

Button buttons=new Button("Buttons");
Button textFields=new Button("TestFields");
Button lists=new Button("Lists");

final Panel cardPanel=new Panel();

controlPanel.add(buttons);
controlPanel.add(textFields);
controlPanel.add(lists);

buttons.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("card 2");
cardLayout.show(cardPanel, "card 2"); }
});
textFields.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("card 3");
cardLayout.show(cardPanel,"card 3"); }
});
lists.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("card 4");
cardLayout.show(cardPanel, "card 4");
}
});

cardPanel.setLayout(cardLayout);

Panel buttonsPanel=new Panel();
buttonsPanel.setBackground(Color.yellow);
buttonsPanel.add(new Button("Button 1"));
buttonsPanel.add(new Button("Button 2"));
buttonsPanel.add(new Button("Button 3"));

Panel textFieldsPanel=new Panel();
textFieldsPanel.setBackground(Color.cyan);
textFieldsPanel.add(new TextField(10));
String msg="Please enter your name";
textFieldsPanel.add(new TextField(msg,40));

Panel listsPanel=new Panel();
listsPanel.setBackground(Color.magenta);
List list=new List(5,false);
list.add("Hamlet");
list.add("Claudius");
list.add("Alexandrius");
listsPanel.add(list);

Panel welcomePanel=new Panel();
welcomePanel.setBackground(Color.gray);
welcomePanel.add(new Label("Welcome to an exmaple of CardLayout"));

cardPanel.add("card 1:",welcomePanel);
cardPanel.add("card 2:",buttonsPanel);
cardPanel.add("card 3:",textFieldsPanel);
cardPanel.add("card 4",listsPanel);

frameExample.setLayout(new BorderLayout());
frameExample.add(controlPanel,BorderLayout.NORTH);
frameExample.add(cardPanel,BorderLayout.CENTER); frameExample.pack();
frameExample.setVisible(true);
}