learning java AWT 布局管理器CardLayout

Posted lianghong881018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了learning java AWT 布局管理器CardLayout相关的知识,希望对你有一定的参考价值。

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

public class CardLayoutTest 
    Frame f = new Frame("cardlayout test");
    Panel p1 = new Panel();
    String[] names = "上一张","下一张","第一张","最后一张","第三张";

    public void init()
        final var c =  new CardLayout();
        p1.setLayout(c);
        for(var i = 0; i < names.length; i++)
            p1.add(names[i], new JButton(names[i]));
        
        var p  = new Panel();
        ActionListener listener = e -> 
            switch (e.getActionCommand())
                case "上一张":
                    System.out.println("previous");
                    c.previous(p1);
                    break;
                case "下一张":
                    c.next(p1);
                    System.out.println("next");
                    break;
                case "第一张":
                    c.first(p1);
                    System.out.println("first");
                    break;
                case "最后一张":
                    c.last(p1);
                    System.out.println("last");
                    break;
                case "第三张":
                    c.show(p1, "第三张");
                    System.out.println("third");
                    break;
            
        ;

        var previous = new JButton("上一张");
        previous.addActionListener(listener);

        var next = new JButton("下一张");
        next.addActionListener(listener);

        var first = new JButton("第一张");
        first.addActionListener(listener);

        var last = new JButton("最后一张");
        last.addActionListener(listener);

        var third = new JButton("第三张");
        third.addActionListener(listener);

        p.add(previous);
        p.add(next);
        p.add(first);
        p.add(last);
        p.add(third);

        f.add(p1);
        f.add(p, BorderLayout.NORTH);
        f.setLocation(100,100);
        f.setBounds(100,100,300,500);
        f.pack();
        f.setVisible(true);

    

    public static void main(String[] args) 
        new CardLayoutTest().init();
    

output:

技术图片

以上是关于learning java AWT 布局管理器CardLayout的主要内容,如果未能解决你的问题,请参考以下文章

Java AWT 图形界面编程LayoutManager 布局管理器 ① ( 布局管理器引入 | 布局管理器提高程序的适配性 | LayoutManager 布局管理器类 )

Java AWT 图形界面编程LayoutManager 布局管理器 ① ( 布局管理器引入 | 布局管理器提高程序的适配性 | LayoutManager 布局管理器类 )

Java(42)_不使用布局管理器

java 在有GridLayout布局管理器的情况下,怎么设置元件大小

Java AWT 图形界面编程LayoutManager 布局管理器 ⑥ ( BoxLayout 布局 )

Java AWT 图形界面编程LayoutManager 布局管理器 ⑥ ( BoxLayout 布局 )