鼠标监听机制
- 一、前言
- 二、简易鼠标监听按钮
- 1.创建按钮对象
- 2.搭建页面
- 3.设置宽和高
- 4.设置监听事件
- 5.将按钮放在界面中
- 6.设置界面可视化
- 7.设置按钮程序入口
- 三、完整代码
- 四、测试代码
- 五、结语
一、前言
上篇文章讲述了监听事件中的动作监听,这篇文章会讲述另一个监听机制——鼠标监听,具体定义和概念可以看上文回顾
二、简易鼠标监听按钮
1.创建按钮对象
与上文相同的代码,唯一不同的是,我们把创建的按钮对象放到成员类中了,具体这样做的原因会在后面详细解释
JButton jtb1 = new JButton("点击我有惊喜哦");
2.搭建页面
跟着做小游戏的小伙伴应该很熟悉这个步骤了吧,那就不多做介绍,直接上代码
public test(){
//设置界面大小
this.setSize(603,680);
//设置标题
this.setTitle("拼图小游戏 V1.0");
//设置永远置顶
this.setAlwaysOnTop(true);
//设置程序随着窗口关闭而结束运行
//this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setDefaultCloseOperation(3);
//设置界面居中
this.setLocationRelativeTo(null);
//取消默认放置位置
this.setLayout(null);
//设置宽高
this.setBounds(0,0,200,50);
}
3.设置宽和高
jtb.setBounds(0,0,200,50);
4.设置监听事件
这里我们使用addMouseListener()
来实现鼠标监听,同样,我们选中使用Ctrl+B
跟进
我们再跟进一次
可以看到它是一个接口,那么我们就要实现接口内抽象类,由于实际开发过程中按钮肯定不止一个,如果每一个都写匿名内部类的话,代码冗余度太高了,不利于代码的维护,所以我们把按钮的对象定义在内部类中,再让本类去继承MouseListener的接口,这样只需要重新所有方法即可
这里有五个方法,对应解释也在图中了
mouseClicked
:鼠标单击mousePressed
:鼠标按住不放mouseReleased
:鼠标松开mouseEntered
:鼠标划入mouseExited
:鼠标划出
重写方法后要记得在括号内传递参数this,表示调用本类中的代码
//绑定鼠标事件
jtb1.addMouseListener(this);
5.将按钮放在界面中
jFrame.getContentPane().add(jtb1);
6.设置界面可视化
jFrame.setVisible(true);
7.设置按钮程序入口
public class testButton2 {
public static void main(String[] args) {
new test();
}
}
三、完整代码
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class test extends JFrame implements MouseListener {
//创建按钮对象
JButton jtb1 = new JButton("点击我有惊喜");
public test(){
//设置界面大小
this.setSize(603,680);
//设置标题
this.setTitle("拼图小游戏 V1.0");
//设置永远置顶
this.setAlwaysOnTop(true);
//设置程序随着窗口关闭而结束运行
//this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setDefaultCloseOperation(3);
//设置界面居中
this.setLocationRelativeTo(null);
//取消默认放置位置
this.setLayout(null);
//设置宽高
jtb1.setBounds(0,0,200,50);
//绑定鼠标事件
jtb1.addMouseListener(this);
//将按钮放在界面中
this.getContentPane().add(jtb1);
//设置界面可视化
this.setVisible(true);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("单击");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("按住不松");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("松开");
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("划入");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("划出");
}
}
四、测试代码
这里小伙伴可以自己试验一下
五、结语
接下来我们将讲述键盘监听机制,讲完以后就可以继续我们的拼图小游戏啦~