我刚学java语言,在学习java简单的拼图游戏时发现网上有些居然要导入调试,而且网上有些说的调试方法不明不白,所以我就分享了我的可直接复制在新项目中的源码,如果要直接要搞好的话就可以用结尾的分享提取链接进行百度网盘获取(该项目的下一张的那个图片没有,可自己学着下面做)。新建项目后步骤如图

确定

将图片按名称复制粘贴进去,注意名称相同 图片可去百度网盘获取

复制粘贴后 如图

记得加后缀

复制源码进去覆盖如图区域即可

源码:

package com.company;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;class Main extends JFrame {    private JLabel 显示图像标签;    private JButton 空白图片按钮;    private JPanel 运行面板;    int num = 0;    public static void main(String[] args) {        // write your code here        try {            Main frame = new Main();            frame.setVisible(true);        } catch (Exception e) {        }    }    public Main() {        super();        setResizable(false);        setTitle("作业");        setSize(320, 435);        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setLayout(null);        显示图像标签 = new JLabel();        显示图像标签.setIcon(new ImageIcon("image/"+ num+ ".gif"));        显示图像标签.setBounds(0,0,80,80);        add(显示图像标签);        JLabel 标记图像标签= new JLabel();        标记图像标签.setIcon(new ImageIcon("image/"+"hmq.jpg"));        标记图像标签.setBounds(80,0,160,80);        add(标记图像标签);        JButton 下一张按钮 = new JButton();        下一张按钮.setText("下一张");        下一张按钮.setBounds(240,0,80,40);        下一张按钮.addActionListener((ActionListener) new NextButtonAction());        add(下一张按钮);        JButton 开局按钮 = new JButton();        开局按钮 .setText("开局");        开局按钮 .setBounds(240,40,80,40);        开局按钮 .addActionListener((StartButtonAction) new StartButtonAction());        add(开局按钮);        运行面板=new JPanel();        运行面板.setBounds(0,80,320,320);        add(运行面板);        运行面板.setLayout(new GridLayout(4, 4));        String[][] 初始排列 = 初始排列法();        for (int row=0; row<4; row++) {            for (int col=0; col<4; col++) {                JButton 每个的按钮 = new JButton();                每个的按钮.setName(row+""+col);                每个的按钮.setIcon(new ImageIcon(初始排列[row][col]));                if (初始排列[row][col].equals("image/"+ num+"00.gif"))                    空白图片按钮 = 每个的按钮;                每个的按钮.addActionListener(new ImgButtonAction());                运行面板.add(每个的按钮);            }        }    }    private String[][] 初始排列法() {        String[][] 初始排列 = new String[4][4];        for (int row=0; row<4; row++) {            for (int col=0; col<4; col++) {                初始排列[row][col] = "image/"+ num+ row+ col+ ".gif";            }        }        return 初始排列;    }    //随机排列图片    private String[][] 随机排列法() {        String[][] 初始排列 = new String[4][4];        for (int row=0; row<4; row++) {            for (int col=0; col<4; col++) {                初始排列[row][col] = "image/"+ num+ row+ col+ ".gif";            }        }        String[][] 随机排列 = new String[4][4];        for (int row=0; row<4; row++) {            for (int col=0; col<4; col++) {                while (随机排列[row][col]==null) {                    int r = (int) (Math.random()*4);                    int c = (int) (Math.random()*4);                    if (初始排列[r][c] != null) {                        随机排列[row][col] = 初始排列[r][c];                        初始排列[r][c] = null;                    }                }            }        }        return 随机排列;    }    //游戏时排列图片    class ImgButtonAction implements ActionListener {        public void actionPerformed(ActionEvent e) {            String 空白图片按钮名称=空白图片按钮.getName();            char 空白图片按钮行名称 = 空白图片按钮名称.charAt(0);            char 空白图片按钮列名称 = 空白图片按钮名称.charAt(1);            JButton 点击按钮 = (JButton) e.getSource();            String 点击按钮名 = 点击按钮.getName();            char 点击按钮行名 = 点击按钮名.charAt(0);            char 点击按钮列名= 点击按钮名.charAt(1);            if (Math.abs(点击按钮行名 - 空白图片按钮行名称) + Math.abs(点击按钮列名 - 空白图片按钮列名称) == 1) {                空白图片按钮.setIcon(点击按钮.getIcon());                点击按钮.setIcon(new ImageIcon("image/"+ num+ "00.gif"));                空白图片按钮 = 点击按钮;            }        }    }    //换下一张图片    class NextButtonAction implements ActionListener {        private ActionEvent e;        public void actionPerformed(ActionEvent e) {            if (num==1) {                num=0;            } else {                ++num;            }            显示图像标签.setIcon(new ImageIcon("image/"+num+".gif"));            String[][] 始排列 = 初始排列法();            int i= 0;            for (int row=0; row<4; row++) {                for (int col=0; col<4; col++) {                    JButton 点按钮1 = (JButton) 运行面板.getComponent(i++);                    点按钮1.setIcon(new ImageIcon(始排列[row][col]));                    if(始排列[row][col].equals("image/"+ num+ "00.gif"))                        空白图片按钮=点按钮1;                }            }        }    }    //开局排列图片    class StartButtonAction implements ActionListener {        public void actionPerformed(ActionEvent e) {            String[][] 随排列 = 随机排列法();            int i= 0;            for (int row=0; row<4; row++) {                for (int col=0; col<4; col++) {                    JButton 点按钮2 = (JButton) 运行面板.getComponent(i++);                    点按钮2.setIcon(new ImageIcon(随排列[row][col]));                    if(随排列[row][col].equals("image/"+ num+ "00.gif"))                        空白图片按钮=点按钮2;                }            }        }    }}

链接:https://pan.baidu.com/s/1ixtL2ookKudJUar7rz52-w

提取码:z7az

复制这段内容后打开百度网盘手机App,操作更方便哦

在maven项目中打开jsp_零基础在intellij中打开一个项目复制粘贴内容即可运行的java拼图...相关推荐

  1. yolov5使用2080ti显卡训练是一种什么样的体验我通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程。>>>>>>>>>第二章番外篇

    第二章番外篇:yolov5通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 前期准备: 2 ...

  2. 演示教学法在计算机基础课程中的应用,浅析项目教学法在《计算机应用基础》课程中的应用...

    浅析项目教学法在<计算机应用基础>课程中的应用 作者:刘亚丽 刘伟 来源:<中学生导报·教学研究>2013年第43期 摘要:在强调"以学生为主体,以能力为本位&quo ...

  3. keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?...

    HI,大家好,我是星光,今天咱们来继续学习VBA.在上一章咱们讲了为什么要学习VBA~VBA还值不值得学~学了还有没有用~零基础学VBA编程01:VBA还能不能学?学了还有没有用? 这一章咱们再来简单 ...

  4. 中职计算机应用教学的重要性,中职《计算机应用基础》教学中理实一体化的有效开展...

    李丽丽 [摘要]:当前,随着职业教育的大力发展,中职校的教育也要跟上时代的步伐,这就要求中职校的教育教学要体现"以生为本.能力本位.行动导向"三大理念.根据中职校<计算机应用 ...

  5. 中职教材计算机应用基础思维导图,思维导图在中职《计算机应用基础》教学中应用.doc...

    思维导图在中职<计算机应用基础>教学中应用 思维导图在中职<计算机应用基础>教学中应用摘 要:本文阐述了思维导图的涵义及特点,并结合中职<计算机应用基础>教学的现状 ...

  6. 法在计算机课程中的应用,尝试教学法在中职《计算机应用基础》课程中的应用(原稿)...

    <尝试教学法在中职<计算机应用基础>课程中的应用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<尝试教学法在中职<计算机应用基础>课程中的应用(原稿 ...

  7. linux终端vi怎么复制粘贴,如何在VI编辑器中复制粘贴内容?

    问题描述 我尝试使用CTRL + V粘贴VI编辑器文档中的内容,但CTRL + V不被解释为粘贴. 最佳解决思路 首先,确保您处于编辑模式(按i).然后,如果您使用的是gnome-terminal等终 ...

  8. 在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全

    在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全 行复制: [yy]复制光标所在行 [p]在光标位置粘贴复制的内容 多行复制: [v]从当前位置进行可视化模式([Ctrl+v] ...

  9. 零基础在UE4中实现物体按照轨迹行驶

    因项目需要,零基础开始实现此要求.具体工作如下: 工作目录 一. 模型的准备 二. UE4中的操作 1.将选中的车辆模型导入项目中. 2.检查导入模型格式--骨架网格物体 或 静态网格物体 3.新建蓝 ...

最新文章

  1. 【Docker】容器的几种网络模式
  2. JVM - 列出JVM默认参数及运行时生效参数
  3. keras环境搭建 [过程记录]
  4. Google开源Leak Finder——用于检测内存泄漏的JavaScript工具
  5. 小程序路由及路由传参
  6. linux tbb 安装_Ubuntu18.04 GCC9 安装
  7. sqlserver约束
  8. 服务器本地文件传输,服务器 本地 文件传输
  9. scala trait 另一种用法类混入
  10. jmeter使用_jmeter概念及使用
  11. Spring Boot入门(2)-项目属性配置
  12. python怎么换背景颜色_Python给照片换底色(蓝底换红底)
  13. 3dmax三点照明法场景照明的方法和技巧
  14. 深入理解地球的经度和纬度换算
  15. 考研面试php,考研复试 | 盘点:这些院校已公布2019考研复试内容
  16. 【计算机视觉】关于用opencv 设置摄像头读分辨率问题的若干说明
  17. Java函数式编程(Lambda表达式、Stream流用法)
  18. matlab求拉斯反变换,MATLAB拉式反变换输出结果有问题
  19. 【JNLP】什么是JNLP
  20. 一文解决Cellphonedb单细胞互作分析及可视化作图(2)

热门文章

  1. 深入浅出 Spring 架构设计
  2. 邱跃鹏:软硬件一体化、Serverless、智能化是云计算三大趋势
  3. 云栖大会|十年阿里云存储进化史:今天最好的表现就是明天最低的要求
  4. 华为,百度豪投,这类程序员要再次上榜了!
  5. 漫画:为什么程序员没有女友?
  6. 腾讯也有“神盾局”?秀出“技术肌肉”就靠TA了……
  7. PHP与MySQL外文文献译文和原文_读懂外文文献的秘诀在这里丨49周新闻
  8. 企业微信小程序_授权登录接口获取用户userid
  9. 字符串对象数组集合非空判断
  10. linux杀掉80端口线程命令