Java中的事件知识点
一、前言
当我们在做拼图小游戏的时候,虽然能添加并打乱图片,但是总觉得少了点东西,感觉要有一些人机互动的东西,比如我点击某一个按钮会现实一个东西这样的效果,这时候我们就需要用到事件中的绑定监听了,所以本文将讲述有关事件的知识点,在做拼图小游戏的小伙伴建议看完这篇文章后再继续写小游戏,这样可能会事半功倍哦~如果想了解拼图小游戏的小伙伴可以在文末点击链接查看专栏(持续更新中)
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)】