栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java学习awt:布局管理器CardLayout

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java学习awt:布局管理器CardLayout

java学习awt:布局管理器
    • 1.CardLayout布局管理器:
    • 2.做一个案例:5个button按钮:控制一叠卡片:决定的最上面的卡片是谁:
    • 完整代码:
    • 2.效果图:

1.CardLayout布局管理器:

将加入容器的所有组件:看成一叠卡片
所有组件:只有最上面才能看见

卡片:有顺序关系,最上局,第二层,等等
cardLayout.previous(p1)//返回卡片的前一张
cardLayout.next(p1);//
cardLayout.first(p1);//
cardLayout.last(p1);//
cardLayout.show(p1,“第三张”);//返回卡片指定一张

CardLayout cardLayout=new CardLayout();//创建CardLayout对象:布局管理器

2.做一个案例:5个button按钮:控制一叠卡片:决定的最上面的卡片是谁:

原理:
创建一个容器:放5个组件,
这个容器:设置为:CardLayout布局管理
再添加内容:

String[] name={"第一张","第二张","第三张","第四张","第五张"};

for(int i=0;i<5;i++)
{
    p1.add(name[i],new Button(name[i]));//可以写成 p1.add(new Button(name[i]));//先添加的为最上面,后面按顺序往下层;最上面;第二层;等等

}
sc.add(p1);

再创建一个容器:放五个按钮

Panel p2=new Panel();
Button b1=new Button("上一张");
        Button b2=new Button("下一张");
        Button b3=new Button("第一张");
        Button b4=new Button("最后一张");
        Button b5=new Button("第三张");

然后:添加监听事件:

ActionListener listener=new ActionListener() {}//创建监听对象

ActionListener listener=new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                String actioncommand=e.getActionCommand();// 获取按钮上的文字

switch (actioncommand){  

    case "上一张":        //如果按钮文字是"上一张":执行cardLayout.previous(p1);
    //cardLayout.previous(p1);返回卡片的前一张,
        cardLayout.previous(p1);
    break;
    case "下一张":
        cardLayout.next(p1);
        break;
    case "第一张":
        cardLayout.first(p1);
        break;
    case "最后一张":
        cardLayout.last(p1);
        break;
    case "第三张":
        cardLayout.show(p1,"第三张");
        break;

}


            }
        };


         b1.addActionListener(listener);
        b2.addActionListener(listener);
        b3.addActionListener(listener);
        b4.addActionListener(listener);
        b5.addActionListener(listener);
完整代码:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class rtjhy {


    public static void main(String[] args) {



        frame sc=new frame("chokolo");

        sc.setBounds(100,100,300,300);
        Panel p1=new Panel();

     CardLayout cardLayout=new CardLayout();

p1.setLayout(cardLayout);//设置布局管理器

  String[] name={"第一张","第二张","第三张","第四张","第五张"};

for(int i=0;i<5;i++)
{
    p1.add(name[i],new Button(name[i]));//

}
sc.add(p1);



Panel p2=new Panel();
Button b1=new Button("上一张");
        Button b2=new Button("下一张");
        Button b3=new Button("第一张");
        Button b4=new Button("最后一张");
        Button b5=new Button("第三张");


        ActionListener listener=new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                String actioncommand=e.getActionCommand();//

switch (actioncommand){

    case "上一张":
        cardLayout.previous(p1);
    break;
    case "下一张":
        cardLayout.next(p1);
        break;
    case "第一张":
        cardLayout.first(p1);
        break;
    case "最后一张":
        cardLayout.last(p1);
        break;
    case "第三张":
        cardLayout.show(p1,"第三张");
        break;

}


            }
        };


         b1.addActionListener(listener);
        b2.addActionListener(listener);
        b3.addActionListener(listener);
        b4.addActionListener(listener);
        b5.addActionListener(listener);

        p2.add(b1);
        p2.add(b2);
        p2.add(b3);
        p2.add(b4);
        p2.add(b5);
sc.add(p2,BorderLayout.SOUTH); //注意:位置南边,如果:sc.add(p2);覆盖了p1的位置,p1就看不了了

sc.setVisible(true);
    }
}

2.效果图:


点击下一张按钮

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号