java中按钮监听以及鼠标监听的使用

       我们在进行javaGUI开发的时候,按钮以及鼠标监听的使用无疑是相当最要的,而如何巧妙的运用这些监听器,对今后的开发更是有很大的帮助,下面将分别介绍。

       实现按钮监听的方法:

       java.awt.event下面有一个ActionListener的类,它是一个用于接收操作事件的侦听器接口,对处理操作事件感兴趣的就可以去使用这个接口。

       首先我们需要写一个类去实现这个接口,然后对我们的JButton对象添加按钮响应,最后再给这个按钮添加监听器,具体代码如下:

   JButton bu=new JButton("按钮");

   bu.setActionCommand("press");//设置按钮响应

   bu.addActionListener(listener);//添加按钮监听

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

publicclass MyActionListener implements ActionListener{

   publicvoid actionPerformed(ActionEvent e){

      String com=e.getActionCommand();//得到按钮响应

      if(com.equals("press")){

         System.out.println("点击了");

      }

   }

}

    当然,可以通过匿名内部类的方法来给按钮添加监听,这里就不再详细介绍了,需要注意的是,每个按钮都可以通过设置独立的按钮响应来实现不同按钮之间的功能。是不是很方便呢?

    讲完了按钮响应,接下来就来介绍一下鼠标响应,我们可以在窗体上通过鼠标实现各种功能,如画图板,五子棋,鼠标游戏等等,这是GUI中一个非常重要的点,学好了这个对今后的各种应用开发都有极大的帮助。

    废话不多说,下面就来做一做吧:

    首先,实现鼠标监听有两种方法,一是实现java.awt.MouseListener类,这是一个用于接收组件上感兴趣的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口,同样要用上面ActionListener的实现方法,具体如下:

       import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

publicclass MyMouseListener implements MouseListener{

   //鼠标点击事件

   publicvoid mouseClicked(MouseEvent e){

      System.out.println("mouseClicked");

   }

   //鼠标按下事件

    publicvoid mousePressed(MouseEvent e){

       System.out.println("mousePressed");

    }

    //鼠标释放事件

    publicvoid mouseReleased(MouseEvent e){

       System.out.println("mouseReleased");

    }

    //鼠标进入事件

    publicvoid mouseEntered(MouseEvent e){

       System.out.println("mouseEntered");

    }

    //鼠标离开事件

    publicvoid mouseExited(MouseEvent e){

       System.out.println("mouseExited");

    }

}

   当然,这个时候我们是要向窗体添加监听,所以应该对窗体使用addMouseListener()的方法,不过这个方法代码太过于冗长,而且其中的一些方法并不是我们每次都会用上,那么下面还有一种方法,是通过实现MouseAdapter类来实现的,这是一个抽象类,可以通过其他类继承它来实现,我们可以查看他的源码:

public abstract class MouseAdapter implements MouseListener, MouseWheelListener, MouseMotionListener

我们发现,这个抽象类实现了三个接口,MouseListener,MouseWheelListener以及MouseMotionListener,所以这个抽象类也就实现了这三个类中的所有方法,而且在使用的时候,我们可以只写出自己需要使用的方法,是不是感觉更加灵活呢?具体的使用,我会在简易画图板的制作中提到,大家不妨试一下吧。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值