CardLayout 对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,而容器充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件。
卡片的顺序由组件对象本身在容器内部的顺序决定。CardLayout 定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。addLayoutComponent(java.awt.Component, java.lang.Object) 方法可用于将一个字符串标识符与给定卡片相关联,以便进行快速随机访问。
实例:
import java.awt.Frame; import java.awt.Button; import java.awt.CardLayout; import java.awt.Color; public class TestCardLayout{ public static void main(String args[]){ Frame f = new Frame("CardLayout Example"); CardLayout cl = new CardLayout(); f.setLayout (cl); Button b[] = new Button[4]; for(int i = 0; i < 4; i++){ b[i] = new Button("第" + i + "页"); f.add(b[i],"page" + i); } b[0].setBackground(Color.green); b[1].setBackground(Color.blue); b[2].setBackground(Color.red); b[3].setBackground(Color.pink); f.pack(); f.setVisible(true); while(true){ try{ Thread.sleep(1000); }catch(InterruptedException e){ e.printStackTrace(); } cl.next(f); } } }
效果图: