一、前言
当我们在做拼图小游戏的时候,虽然能添加并打乱图片,但是总觉得少了点东西,感觉要有一些人机互动的东西,比如我点击某一个按钮会现实一个东西这样的效果,这时候我们就需要用到事件中的绑定监听了,所以本文将讲述有关事件的知识点,在做拼图小游戏的小伙伴建议看完这篇文章后再继续写小游戏,这样可能会事半功倍哦~如果想了解拼图小游戏的小伙伴可以在文末点击链接查看专栏(持续更新中)
Java中的事件知识点总结
二、概述
1.事件源
事件源通俗来说就是要在哪个东西上执行操作才能产生效果,所以它可以有很多种,比如按钮、图片、窗体···
2.事件
有了事件源,那么我们要执行某个操作才能“触发机关”实现效果,所以事件就是某些操作比如:鼠标单击、鼠标划入 这些
3.监听
监听分为三类:键盘监听、鼠标监听 和 动作监听,看到这些名词可能有点懵,监听是个啥,那么首先我们来理解一下绑定监听:当事件源(按钮)上发生了某个事件(单击),就执行某段代码(输出“您已点击按钮”)
- 键盘监听:按下键盘上某些键时,就会触发执行某段代码
- 鼠标监听:用鼠标执行了某个操作时,就会触发执行某段代码
- 动作监听:可以简单理解为键盘监听和鼠标监听的精简版(只能监听点击和空格)
三、动作监听简单实现
根据前面【菜单搭建】的知识点,我们可以来写个简易的按钮
1.搭建页面
JFrame jFrame = new JFrame(); //设置界面大小 jFrame.setSize(603,680); //设置标题 jFrame.setTitle("测试监听效果"); //设置永远置顶 jFrame.setAlwaysOnTop(true); //设置程序随着窗口关闭而结束运行 //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); jFrame.setDefaultCloseOperation(3); //设置界面居中 jFrame.setLocationRelativeTo(null); //取消默认图片放置位置 jFrame.setLayout(null);
2.创建按钮对象
JButton jtb = new JButton("点击我");
3.设置宽和高
这里我们使用setBounds函数,里面的参数有四个:左边x、坐标y、宽度、高度
我们将它放在左上角,设置一下宽和高(这里可以自行调整)
jtb.setBounds(0,0,200,50);
4.设置监听事件
- 这里我们使用addActionListener()来实现监听,由于括号内的参数不知道如何传递,所以我们使用 Ctrl+B 跟进查看源码
再选中ActionListener跟进
发现它是一个接口,那么我们要调用接口的实现类对象
单独写一个类来继承接口
jtb.addActionListener(new testActionListener());
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class testActionListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { System.out.println("您已点击按钮"); } }
匿名内部类
jtb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("您已点击按钮"); } });
如果这边看不懂的话,可以去看看【Java进阶学习】专栏中有关接口和匿名内部类的文章,回顾一下
5.将按钮放在界面中
这里的知识点也在本专栏中有提到过,忘记的话可以看前面的文章回顾一下
jFrame.getContentPane().add(jtb);
6.设置下界面可视化
jFrame.setVisible(true);
四、测试代码
当我们点击按钮时,就会出现“您已点击按钮字样”
五、上文答案揭晓
【Java实现拼图小游戏(4)—— 打乱图片(含二维数组知识点)】
为二维数组添加数据
for (int i = 0; i < data.length; i++){ data[i / 4][i % 4] = tempArr[i]; }
六、结语
当看完这篇文章以后,再去写拼图小游戏会更加简单,下面附上本专栏的地址【拼图小游戏(Java)】