GUI实验—制作电子相册

前言
本题来自于大学软件工程专业GUI实验

题目描述
编写应用程序,有一个标题为“电子相册”的窗口,布局为 BorderLayout, 通过多个有图标的标签显示多张图片制作一个电子相册,多个标签采用 CardLayout 布局,有 5 个菜单项,其中“第一张”,“上一张”,“下一张”、“最后一张”4 个菜单项被单击时用于实现
相关知识点描述
本题需要用到 :Frame(窗体)、Panal(面板)、BorderLayout、CardLayout(布局)、Menu(菜单)、addActionListerener(行为监听器)
为了使用方便,设置了Button()
.
正题
这是项目结构
在这里插入图片描述
代码示例

package Shiyan1;

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

public class CardLy {
    public static void main(String[] args) {
        Cardlayout cardlayout = new Cardlayout("电子相册");
    }
}
class Cardlayout extends Frame implements ActionListener {
    JPanel cardPanel = new JPanel();
    JPanel controlpaPanel = new JPanel();
    JButton firstbutton,nextbutton, preButton,lastbutton,exitbutton;
    CardLayout cardLayout = new CardLayout();
    MenuItem menuItem1,menuItem2,menuItem3,menuItem4,menuItem5;

    public Cardlayout(String title) {
        super(title);
        setSize(500, 500);
        setVisible(true);

        this.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                Cardlayout.this.dispose();
            }
        });
        cardPanel.setLayout(cardLayout);
        String url1="D:\\IDEA\\Chai\\day06\\src\\Shiyan1\\1.jpg";
        ImageIcon imageIcon1 = new ImageIcon(url1);
        String url2="D:\\IDEA\\Chai\\day06\\src\\Shiyan1\\2.jpg";
        ImageIcon imageIcon2 = new ImageIcon(url2);
        String url3="D:\\IDEA\\Chai\\day06\\src\\Shiyan1\\3.jpg";
        ImageIcon imageIcon3 = new ImageIcon(url3);
        String url4="D:\\IDEA\\Chai\\day06\\src\\Shiyan1\\4.jpg";
        ImageIcon imageIcon4 = new ImageIcon(url4);
        String url5="D:\\IDEA\\Chai\\day06\\src\\Shiyan1\\5.jpg";
        ImageIcon imageIcon5 = new ImageIcon(url5);
        cardPanel.add(new JLabel(new ImageIcon(url1)));
        cardPanel.add(new JLabel(new ImageIcon(url2)));
        cardPanel.add(new JLabel(new ImageIcon(url3)));
        cardPanel.add(new JLabel(new ImageIcon(url3)));
        cardPanel.add(new JLabel(new ImageIcon(url5)));
        firstbutton=new JButton("第一张");
        nextbutton = new JButton("下一张");
        preButton = new JButton("上一张");
        lastbutton=new JButton("最后一张");
        exitbutton=new JButton("退出");

        firstbutton.addActionListener(this);
        nextbutton.addActionListener(this);
        preButton.addActionListener(this);
        lastbutton.addActionListener(this);
        exitbutton.addActionListener(this);
        controlpaPanel.add(firstbutton);
        controlpaPanel.add(preButton);
        controlpaPanel.add(nextbutton);
        controlpaPanel.add(lastbutton);
        controlpaPanel.add(exitbutton);
        this.add(cardPanel, BorderLayout.CENTER);
        this.add(controlpaPanel, BorderLayout.SOUTH);
        validate();
        MenuBar menuBar = new MenuBar();
        this.setMenuBar(menuBar);
        Menu menu = new Menu("Mainpulation");
        menu.setFont(new Font("宋体",Font.BOLD,20));
         menuBar.add(menu);
         menuItem1 = new MenuItem("First card");
         menuItem2 = new MenuItem("Next card");
         menuItem3 = new MenuItem("Last card");
         menuItem4 = new MenuItem("The last card");
         menuItem5 = new MenuItem("Exit");
         menu.add(menuItem1);
         menu.add(menuItem2);
         menu.add(menuItem3);
         menu.add(menuItem4);
         menu.add(menuItem5);

        menuItem1.addActionListener(this);
        menuItem2.addActionListener(this);
        menuItem3.addActionListener(this);
        menuItem4.addActionListener(this);
        menuItem5.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {

        if (e.getSource() == nextbutton || e.getSource()==menuItem1) {
            cardLayout.next(cardPanel);
        }
        if (e.getSource() == preButton || e.getSource()==menuItem2) {
            cardLayout.previous(cardPanel);
        }
        if (e.getSource() == firstbutton || e.getSource()==menuItem3) {
            cardLayout.first(cardPanel);
        }
        if (e.getSource() == lastbutton || e.getSource()==menuItem4) {
            cardLayout.last(cardPanel);
        }
        if (e.getSource() == exitbutton || e.getSource()==menuItem5) {
            System.exit(0);
        }
    }
}

```java
在这里插入代码片
**运行结果**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527233042723.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzA3NzU5MQ==,size_16,color_FFFFFF,t_70)


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值