8.2.5 CardLayout布局管理器
Cardlayout管理器是最复杂的布局管理器之一。使用了该管理器,可以创建如卡片盒之类的布局盒,然后从一种布局翻动到另一种布局。这类显示布局管理的一个例子是Windows NT中的属性页对话框。
Cardlayout类常用的方法如下:
public CardLayout()
构造器。建立一个新的CardLayout类对象。
public CardLayout(int hgap,int vgap)
构造器。建立一个新的CardLayout 类对象,水平间隙为hgap个像素,垂直间隙为vgap个像素。
public int getHgap()
返回水平简隙。
public ing getVgap()
返回垂直间隙。
【例8-7】卡片布局管理示例。
问题陈述:有五张卡片分别标明“大学英语”,“数据库技术”,“Java程序设计”,“计算机网络”,“计算机专业英语”五门课程名称的字样,有两个按钮分别标明“上一科”和“下一科”。要求设计一个程序,使用卡片布局管理进行布局,当按下“上一科”时显示上一门课程的名称,第1门课程接最后一门课程,当按下"下一科"按钮时显示下一门课程名称,最后一门课程接第一门课程。源程序如下:
【程序说明】
1)程序第19~25行建立五张卡片放置在coursepanel面版中,以卡片布局管理。
2)第26~28行建立两个按钮后放置在selectpanel面版中。
3)第29~31行将selectpanel和coursepanel面版加入以流式布局管理的版面中。
4)第32~33行处理按钮元件所触发的事件。
5)按钮元件所触发的事件委托actionPerformed()方法,选择其中一个按钮“上一科”或“下一科”时,将在coursepanel版面上显示上一门课程或下一门课程名称的卡片。
程序运行结果如图8-8所示。
图8-8 例8-7程序运行效果