卡片布局(CardLayout)

     在一些特定的条件下可能会用到卡片布局,虽然它不是一种特别重要的布局,但是在完成一些特殊的功能时比较好用。比如模拟幻灯片的例子,单击不同的按钮,出现相应的变换图片

   卡片布局管理器中的组件就像是幻灯片中的图片,每次只能看一张,但单击不同按钮会看到不同的图片

   卡片布局可以添加多个组件,但同一时刻只能看见其中一个组件

   CardLayout类的构造方法

   public CardLayout()   :创建一个卡片布局管理器

   public CardLayout(int hgap,int vgap)  :创建具有指定水平间距和垂直间距的卡片布局管理器

   CardLayout类常用的方法

   public void first(Container parent) :切换到容器第一张

   public void last(Container parent) :切换到容器最后一张

   public void next(Container parent):切换到当前容器的下一张

   public void previous(Container parent): 切换到当前容器的上一张

   public void show(Container parent,String name):切换到指定名称的组件

   注意:show方法中的name即组件名称,如果指定的名称不存在,既不会报错,也不会出错

   代码实例:

   

package ch9;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*; 
public class CardLayoutTest extends JFrame implements ActionListener
{
    JButton next = new JButton("下一张");
    JButton previous = new JButton("前一个");
    JButton first = new JButton("第一个");
    JButton second = new JButton("第二个");
    JButton third = new JButton("第三个");
    JButton last = new JButton("最后一个");
     private  JButton[] jb = new JButton[]{next,previous,first,second,third,last};
    private JPanel jp = new JPanel();
    public CardLayoutTest()
    {
    	this.setLayout(null);      //此处设置空布局,按钮直接被放入窗体内,不用布局管理器
    	for(int i=0;i

卡片布局(CardLayout)_第1张图片

你可能感兴趣的:(AWT,和Swing)