首页 理论教育 卡片布局管理器

卡片布局管理器

时间:2023-02-28 理论教育 版权反馈
【摘要】:卡片布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面。CardLayout就像一副叠得整整齐齐的扑克牌一样,有54张牌,但是只能看见最上面的一张牌,每一张牌就相当于布局管理器中的每一层,其实现过程如下。

9.3.5 卡片布局管理器

卡片布局(CardLayout)管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面。CardLayout就像一副叠得整整齐齐的扑克牌一样,有54张牌,但是只能看见最上面的一张牌,每一张牌就相当于布局管理器中的每一层,其实现过程如下。

首先,定义面板,为各个面板设置不同的布局,并根据需要在每个面板中放置组件:

panelOne.setLayout(new FlowLayout());

panelTwo.setLayout(new GridLayout(2,1));

再设置主面板:

CardLayout card=new CardLayout();

panelMain.setLayout(card);

下一步将开始准备好的面板添加到主面板:

img555

add()方法带有两个参数,第一个为String类型用来表示面板标题,第二个为Panel对象名称。

完成以上步骤以后,必须给用户提供在卡片之间进行选择的方法,一个常用的方法是每张卡片都包含一个按钮,通常用来控制显示哪张面板,actionListener被添加到按钮,actionPerformed()方法可定义显示哪张卡片:

img556

【例9-6】 卡片布局的范例。

img557

img558

程序运行结果如图9-7所示。

img559

图9-7 CardLayout范例

分析与思考:cardLayout.next(contentPanel)是next按钮的事件,单击该按钮,在contentPanel中的按钮就依次显示了。

模仿例9-6:给JPanel中添加若干幅的图片,就可以变成一个简单的图片浏览器了,请读者试一试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈