Java实现拼图小游戏(7)——查看完整图片(键盘监听实例2)

简介: 由于在移动和图片中我们已经添加了键盘监听,也继承了键盘监听的接口,那么我们只需要在重写方法内输入我们的代码即可

一、前言


在上一篇文章中我们介绍了如何移动图片,但是我相信有很多小伙伴跟我一样玩了半天都没办法复原,因为没有一个参照的完整图片,所以本文将来实现这个能够查看完整图片的功能。


二、功能介绍


当我们点击一个按键的时候,只要摁住不放就能看到完整图片,当我们松开按键的时候就又回到游戏界面,实现一个 " 查看完整图片 " 的功能


三、步骤


由于在移动和图片中我们已经添加了键盘监听,也继承了键盘监听的接口,那么我们只需要在重写方法内输入我们的代码即可


1.清除原先图片


this.getContentPane().removeAll();


2.添加图片


  • 在JLable里添加完整图片
  • 设置图片位置和大小
  • 设置图片边框(可以没有)
  • 将JLable添加到界面中

    //添加完整图片
        JLabel jlb = new JLabel(new ImageIcon("F:\\IDEA\\PuzzleGame\\image\\image\\animal\\animal3\\all.jpg"));
        //设置图片位置以及宽高
        jlb.setBounds(85,115,420,420);
        //设置边框
        jlb.setBorder(new BevelBorder(0));
        //将图片添加到界面
        this.getContentPane().add(jlb);


3.添加背景图片


这个前面已经讲解过了,这里就不多做阐述,直接上代码


    //添加背景图片
        JLabel background = new JLabel(new ImageIcon("F:\\IDEA\\PuzzleGame\\image\\image\\background.png"));
        //设置背景图片位置及大小
        background.setBounds(42,21,508,560);
        //将背景图片添加到界面中
        this.getContentPane().add(background);

 

4.刷新


this.getContentPane().repaint();


5.新建方法


  • 将上述添加图片和背景图片打包成一个方法,命名为initAllPicture


6.重写方法


  • 设定一个字母,长按该字母即可转跳查看完整图片(keyPressed)
  • 当松开时,转跳回原来界面(keyReleased)


@Override
    public void keyPressed(KeyEvent e) {
        int code = e.getKeyCode();
        if(code == 65){
            System.out.println("显示所有照片");
            initAllPicture();
        }
public void keyReleased(KeyEvent e){
···
else if(code == 65){
            System.out.println("返回游戏界面");
            initImage();
        }
}


四、优化代码


这里我们只是引用了一张图片:picture3,如果后续想要修改的话每个路径里都要修改,会很麻烦,所以我们把相同路径的提取出来,然后用一个变量去接收

这里我们来演示一下:


String path = "F:\\IDEA\\PuzzleGame\\image\\image\\animal\\animal3\\"


当我们要修改图片的时候,只需要改变path中的路径即可

我们就可以优化代码了


//添加完整图片
JLabel jlb = new JLabel(new ImageIcon(path+ "all.jpg"));


五、结语


有了前面的基础,写这个功能应该相对更加简洁,接下来实现作弊码和判断胜利的功能

相关文章
|
4天前
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
47 22
|
2天前
|
前端开发 JavaScript Java
【Java进阶】JavaScript电灯开关实例:从理论到实践
这个例子展示了JavaScript的基本功能,包括操作HTML元素,监听事件,以及改变元素的样式。通过学习和理解这个例子,你可以了解到JavaScript在网页中的应用,以及如何使用JavaScript来创建交互式的网页。
26 13
|
3月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
120 33
|
3月前
|
存储 Java 计算机视觉
Java二维数组的使用技巧与实例解析
本文详细介绍了Java中二维数组的使用方法
86 15
|
3月前
|
缓存 Java 开发者
Java字面量详解:概念、分类与使用实例
本文介绍了Java字面量的概念、分类及应用。
90 11
|
3月前
|
前端开发 Java 程序员
菜鸟之路day02-04拼图小游戏开发一一JAVA基础综合项目
本项目基于黑马程序员教程,涵盖面向对象进阶、继承、多态等知识,历时约24小时完成。项目去除了登录和注册模块,专注于单机游戏体验。使用Git进行版本管理,代码托管于Gitee。项目包含窗体搭建、事件监听、图片加载与打乱、交互逻辑实现、菜单功能及美化界面等内容。通过此项目,巩固了Java基础并提升了实际开发能力。 仓库地址:[https://gitee.com/zhang-tenglan/puzzlegame.git](https://gitee.com/zhang-tenglan/puzzlegame.git)
95 6
|
3月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
123 13
|
3月前
|
Java Spring
Java Spring Boot监听事件和处理事件
通过上述步骤,我们可以在Java Spring Boot应用中实现事件的发布和监听。事件驱动模型可以帮助我们实现组件间的松耦合,提升系统的可维护性和可扩展性。无论是处理业务逻辑还是系统事件,Spring Boot的事件机制都提供了强大的支持和灵活性。希望本文能为您的开发工作提供实用的指导和帮助。
154 15
|
3月前
|
Java 开发者 Spring
Java Springboot监听事件和处理事件
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解Spring Boot中的事件机制,并在实际开发中灵活应用,提高系统的可维护性和扩展性。
93 7
|
6月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
下一篇
oss创建bucket