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"));


五、结语


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

相关文章
|
1月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
65 4
|
1月前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
58 2
|
26天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
1月前
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
|
1月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
20 1
|
1月前
|
算法 Java Linux
java制作海报四:java BufferedImage 转 InputStream 上传至OSS。png 图片合成到模板(另一个图片)上时,透明部分变成了黑色
这篇文章主要介绍了如何将Java中的BufferedImage对象转换为InputStream以上传至OSS,并解决了png图片合成时透明部分变黑的问题。
61 1
|
1月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
41 0
|
Java
java中从键盘输入的三种方法
java中从键盘输入的三种方法
393 0
java键盘输入的两种方法
java键盘输入的两种方法
|
5天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
下一篇
无影云桌面