学习java跟着敲得代码笔记

package com.one.layout;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GridLayoutDemo1 {
    public static void main(String[] args) {
        Frame frame = new Frame("这是测试CardLayout");
        //创建一个Panel,用来储存多张卡片
        Panel p1 = new Panel();
//     创建CardLayout对象,并把该对象设置给之前创建的容器
        CardLayout cardLayout = new CardLayout();
        p1.setLayout(cardLayout);

        //往panel中储存多个组件
        String[] names = {"第一张", "第二张", "第三张", "第四张", "第五张"};
        for (int i = 0; i < names.length; i++) {
            p1.add(names[i], new JButton(names[i]));
        }


        // 把panel 放在frame中间区域

        frame.add(p1);
//        创建另外一个panel p2,用来储存多个按钮组件
        Panel p2 = new Panel();

        //创建5个按钮组件
        JButton b1 = new JButton("上一张");
        JButton b2 = new JButton("下一张");
        JButton b3 = new JButton("第一张");
        JButton b4 = new JButton("最后一张");
        JButton b5 = new JButton("第三张");


        //创建一个事件监听器,监听按钮的点击动作
        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中

        p2.add(b1);
        p2.add(b2);
        p2.add(b3);
        p2.add(b4);
        p2.add(b5);

        //把p2放在frame的南边区域
        frame.add(p2,BorderLayout.SOUTH);

        frame.pack();
        frame.setVisible(true);
    }
}

效果图 ,我是看黑马java的视频学的

package com.one.layout;

import javax.swing.*;
import java.awt.*;
public class GridLayoutDemo2 {
    public static void main(String[] args) {
        Frame frame = new Frame();
//        创建一个水平排列组件的Box容器
        Box hBox = Box.createHorizontalBox();
//        往容器中添加两个按钮
        hBox.add(new JButton("水平按钮1"));
        hBox.add(new JButton("水平按钮2"));
//创建一个人垂直按钮
        Box vBox = Box.createVerticalBox();
//往单当前按钮中添加两个按钮
        vBox.add(new JButton("垂直按钮1"));
        vBox.add(new JButton("垂直按钮2"));
//把两个Box容器添加到Frame中展示
        frame.add(hBox, BorderLayout.NORTH);
        frame.add(vBox);

        frame.pack();
        frame.setVisible(true);
    }
}

猜你喜欢

转载自blog.csdn.net/m0_56231540/article/details/121458165
今日推荐