鼠标监听机制

  • 一、前言
  • 二、简易鼠标监听按钮
  • 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跟进

java 监听 udp端口 java jbutton监听_java


我们再跟进一次

java 监听 udp端口 java jbutton监听_ide_02

可以看到它是一个接口,那么我们就要实现接口内抽象类,由于实际开发过程中按钮肯定不止一个,如果每一个都写匿名内部类的话,代码冗余度太高了,不利于代码的维护,所以我们把按钮的对象定义在内部类中,再让本类去继承MouseListener的接口,这样只需要重新所有方法即可

java 监听 udp端口 java jbutton监听_java_03


这里有五个方法,对应解释也在图中了

  • 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("划出");
    }
}

四、测试代码

java 监听 udp端口 java jbutton监听_java_04

这里小伙伴可以自己试验一下

五、结语

接下来我们将讲述键盘监听机制,讲完以后就可以继续我们的拼图小游戏啦~