案例代码:
import java.awt.*;
import java.awt.Button;
import java.awt.CardLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class Cardlayout extends Frame implements ActionListener{
Panel cardPanel = new Panel();
Panel controlpaPanel = new Panel();
Button nextButton, preButton,Exit;
CardLayout cardlayout = new CardLayout();
public Cardlayout()
{
setSize(300,300);
setVisible(true);
this.addWindowFocusListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
Cardlayout.this.dispose();
}
});
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);
}
});
cardPanel.setLayout(cardlayout);
cardPanel.add(new Label("第一页",Label.CENTER));
cardPanel.add(new Label("第二页",Label.CENTER));
cardPanel.add(new Label("最后一页",Label.CENTER)) ;
nextButton = new Button("下一页");
preButton = new Button("上一页");
Exit = new Button("退出");
nextButton.addActionListener(this);
preButton.addActionListener(this);
Exit.addMouseListener(new MouseAdapter()
{
public void mouseClicked (MouseEvent e)
{
System.exit(0);
}
});
controlpaPanel.add(nextButton);
controlpaPanel.add(preButton);
controlpaPanel.add(Exit);
this.add(cardPanel,BorderLayout.CENTER);
this.add(controlpaPanel,BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent e){
//TODO Auto-generated method stub
if(e.getSource() == nextButton)
{
cardlayout.next(cardPanel);
}
if(e.getSource() == preButton)
{
cardlayout.previous(cardPanel);
}
}
}
public class Example8_8{
public static void main(String[] args){
Cardlayout cardlayout = new Cardlayout();
}
}
案例运行图: