福安网站建设德阳建设局官方网站
目录
拼图小游戏(GUI)
一、主界面分析
1、练习一:创建主界面1
2、练习二:创建主界面2(JFrame)
3、练习三:在游戏界面中添加菜单(JMenuBar)
①、菜单的制作
4、添加图片(JLabel)
①、初始化图片
②、调整图片的位置
③、添加其它图片
5、打乱图片的顺序
①、打乱一维数组中的数据
②、改写GameJFrame中的代码
6、事件
①、动作监听(点击、空格)
②、鼠标监听机制 -- MouseListener(四个动作 五个方法)
拼图游戏逻辑实现
7、美化界面
①、添加背景
②、添加边框
③、路径(一般推荐写相对路径)
④、小结
8、上下左右移动图片(移动空白块)
①、实现KeyListener
②、清除原本已经出现的所有图片
③、刷新界面
④、碰壁处理
⑤、其它方向同理
⑥、小结
9、查看完整图片
①、重写keyPressed方法
②、补充keyReleased方法
10、 作弊码
①、补充keyReleased方法
11、判断胜利
①、定义一个正确的二维数组
②、判断方法
③、显示胜利图标
④、补充keyReleased方法,判断胜利结束
12、记步功能
①、定义step变量,记录步数
②、定义一个JLabel对象管理文字组件
③、通过键盘监听事件的触发,让step++
13、重新开始
14、重新登录
15、关闭游戏
16、关于我们
拼图小游戏(GUI)

AWT包会有些兼容问题,不支持某些中文

在本次游戏的GUI开发中,我们将使用Swing包

一、主界面分析

这些东西统一称为组件,JFrame是一个组件、JMenuBar也是一个组件、等等
1、练习一:创建主界面1

主界面:

登录界面:

注册界面:

主入口:

2、练习二:创建主界面2(JFrame)

常用的六个界面设置:

设置界面关闭模式:

0:什么都不做
1:默认模式
2:需要所有界面全部设置才会有效,即最后一个界面关闭时,关闭虚拟机
3:只要关闭其中一个界面就会关闭虚拟机
以主界面GameJFrame为例:

3、练习三:在游戏界面中添加菜单(JMenuBar)

①、菜单的制作


Ctrl + Alt + M:方法抽取
初始化菜单:

4、添加图片(JLabel)

Ctrl + N:按名字搜索类
Ctrl + F12:显示当前文件结构
①、初始化图片

②、调整图片的位置
隐藏容器:不需要我们自己创建,它是JFrame内部自己的东西




③、添加其它图片

Ctrl + Shift + Alt + J:批量修改同名变量

④、回顾

5、打乱图片的顺序

用二维数组更方便
①、打乱一维数组中的数据

示例代码:


②、改写GameJFrame中的代码

6、事件

①、动作监听(点击、空格)
创建一个按钮对象:

按钮动作监听的三种方式:
(1)、实现类


(2)、匿名内部类(Android开发中大量碰到过)

(3)、让当前的界面类implements ActionListener,然后去重写方法


②、鼠标监听机制 -- MouseListener(四个动作 五个方法)



③、键盘监听机制 - KeyListener






拼图游戏逻辑实现

7、美化界面

①、添加背景

②、添加边框


bevelType:
- 0,让图片凸起来(BeverlBorder.RAISED)
- 1,让图片凹下去(BeverlBorder.LOWERED)
③、路径(一般推荐写相对路径)


④、小结

8、上下左右移动图片(移动空白块)

①、实现KeyListener
让当前界面去实现KeyListener,重写监听方法
![]()

②、清除原本已经出现的所有图片

③、刷新界面

④、碰壁处理

⑤、其它方向同理
⑥、小结

9、查看完整图片

①、重写keyPressed方法

②、补充keyReleased方法

10、 作弊码

①、补充keyReleased方法

11、判断胜利

①、定义一个正确的二维数组

②、判断方法
判断data数组中的数据是否跟win数组中相同

③、显示胜利图标

④、补充keyReleased方法,判断胜利结束

12、记步功能

①、定义step变量,记录步数

②、定义一个JLabel对象管理文字组件

③、通过键盘监听事件的触发,让step++

13、重新开始

①、实现接口
![]()
②、绑定事件

③、实现事件逻辑

④、实现重新开始

14、重新登录

15、关闭游戏


16、关于我们


