教育路上

全国站>Java>图形界面>java布局管理CardLayout
学员需求

java布局管理CardLayout

摘要:java布局管理CardLayout,我们经常会通过选项卡按钮来切换程序中的界面,这些界面就相当于一张张卡片,而管理这些卡片的布局管理器就是卡片布局管理器(CardLayout)。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

2022-07-07 20:36网络推荐

发布时间:
2022-07-07 20:36
信息来源:
网络推荐
浏览次数:
869
java布局管理CardLayout

在操作程序时,我们经常会通过选项卡按钮来切换程序中的界面,这些界面就相当于一张

张卡片,而管理这些卡片的布局管理器就是卡片布局管理器(CardLayout)。卡片布局管理器将界面

看做一系列卡片,在任何时候只有其中一张卡片是可见的,这张卡片占据容器的整个区域。在

CardLayout 布局管理中经常会用到下面几个方法,如表 11-4 所示。

from shengerguan

-12 Example12.java;’

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

//定义 Cardlayout 继承 Frame 类,实现 ActionListener 接口

class Cardlayout extends Frame implements ActionListener {

Button nextbutton,preButton;

Panel cardPanel = new Panel(); // 定义 Panel 面板放置卡片

Panel controlpaPanel = new Panel(); // 定义 Panel 面板放置按钮

CardLayout cardLayout = new CardLayout();// 定义卡片布局对象

public Cardlayout() { // 定义构造方法,设置卡片布局管理器的

属性

setSize(300, 200);

setVisible(true);

// 为窗口添加关闭事件监听器

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

Cardlayout.this.dispose();

}

});

cardPanel.setLayout(cardLayout); // 设置 cardPanel 面板对象为卡片布局

// 在 cardPanel 面板对象中添加 3 个文本标签

cardPanel.add(new Label("第一个界面", Label.CENTER));

cardPanel.add(new Label("第二个界面", Label.CENTER));

cardPanel.add(new Label("第三个界面", Label.CENTER));

// 创建两个按钮对象

nextbutton = new Button("下一张卡片");

preButton = new Button("上一张卡片");

// 为按钮对象注册监听器

nextbutton.addActionListener(this);

preButton.addActionListener(this);

// 将按钮添加到 controlpaPanel 中

controlpaPanel.add(preButton);

controlpaPanel.add(nextbutton);

// 将 cardPanel 面板放置在窗口边界布局的中间,窗口默认为边界布局

this.add(cardPanel, BorderLayout.CENTER);

// 将 controlpaPanel 面板放置在窗口边界布局的南区,

this.add(controlpaPanel, BorderLayout.SOUTH);

}

// 下面的代码实现了按钮的监听触发,并对触发事件做出相应的处理

public void actionPerformed(ActionEvent e) {

// 如果用户单击 nextbutton,执行的语句

if (e.getSource() == nextbutton) {

// 切换 cardPanel 面板中当前组件之后的一个组件,若当前组件为最后一个组件,则

显示第一个组件。

cardLayout.next(cardPanel);

}

if (e.getSource() == preButton) {

// 切换 cardPanel 面板中当前组件之前的一个组件,若当前组件为第一个组件,则显

示最后一个组件。

cardLayout.previous(cardPanel);

}

}

}

public class Example12 {

public static void main(String[] args) {

Cardlayout cardlayout = new Cardlayout();

}

}

编译运行程序,生成的窗口如图 11-21 所示

from shengerguan

例 11-12 中,在顶层 Frame 容器采用 BorderLayout 布局 CENTER 区域和 SOUTH 区城分别

放置 cardPanel 和 controlpaPanel 面板其中 cardPanel 面板采用 CardLayout 中放置了两个名布

局管理器,其中放置了三个 Label 标签代表三张卡片, controlpaPanel 为“上一张卡片”和“下一张卡

片"的按钮,通过点击这两个按钮,会触发按钮的事件监听器,调用 CardLayout 的 previous()和

next( )方法对 cardPanel 面板中的卡片进行切换。CardLayout 的优点是可以使两个或更多的界面

共享一个显示空间,某一时刻只有一个界面可见。


上一篇:
java布局管理GridBagLayout
下一篇:
java不使用布局管理器
标签:
网友评论
发布评论

访客的评论 2024/04/26 00:30

文中描述的是准确的吗,如何报名!

相关推荐
我也来发表评价关闭
我对该内容的评价:
0
评价500
验证码: 看不清 换一张
提交 (匿名发布,无须担心别人知道您的身份)
学校免费发布信息关闭
我们审核后会尽快展示,如有图片请发邮件到:edu63@foxmail.com

姓      名:

内      容:

手机号码:

验  证  码:  换一张

确认提交
填写需求信息关闭
我们会根据您的需求匹配并审核留言

姓      名:

意向城市:

留      言:

手机号码:

验  证  码:  换一张

确认提交
完善补充本文信息关闭
非常感谢您帮助完善补充本文信息


 换一张

确认提交