zoukankan      html  css  js  c++  java
  • JAVA:事件监听器之鼠标监听

    addMouseListener

    public void addMouseListener(MouseListener l)

    添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。如果侦听器 lnull,则不会抛出异常并且不执行动作。 

    java.awt.event
    接口 MouseListener

    用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。)

    旨在处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 MouseAdapter(仅重写所需的方法)

    然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。                                  

    方法摘要
    void mouseClicked(MouseEvent e)
    鼠标按键在组件上单击(按下并释放)时调用。
    void mouseEntered(MouseEvent e)
    鼠标进入到组件上时调用。
    void mouseExited(MouseEvent e)
    鼠标离开组件时调用。
    void mousePressed(MouseEvent e)
    鼠标按键在组件上按下时调用。
    void mouseReleased(MouseEvent e)
    鼠标按钮在组件上释放时调用。

     ——摘自:JDK6API

    例子:

     1 import javax.swing.*;
     2 import java.awt.*;
     3 import java.awt.event.*;
     4 public class MouseDemo
     5 {
     6     //定义该图形中所需的组件的引用
     7     private Frame f;
     8     private Button bt; 
     9     
    10     //方法
    11    MouseDemo()//构造方法
    12     {
    13         madeFrame();
    14     }
    15     
    16     public void madeFrame()
    17     {
    18         f = new Frame("My Frame");
    19         
    20         //对Frame进行基本设置。
    21         f.setBounds(300,100,600,500);//对框架的位置和大小进行设置
    22         f.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));//设计布局
    23         
    24         bt = new Button("My Button");
    25         
    26         //将组件添加到Frame中
    27         f.add(bt);
    28         
    29         //加载一下窗体上的事件
    30         myEvent();
    31         
    32         //显示窗体
    33         f.setVisible(true);
    34     }
    35     
    36     private void myEvent()
    37     {
    38         f.addWindowListener(new WindowAdapter()//窗口监听
    39         {
    40             public void windowClosing(WindowEvent e)
    41             {
    42                 System.out.println("窗体执行关闭!");
    43                 System.exit(0);
    44             }
    45         });
    46 
    47         bt.addActionListener(new ActionListener()//按钮监听
    48         {
    49             public void actionPerformed(ActionEvent e)
    50             {
    51                  System.out.println("按钮活动了!");
    52             }
    53         });
    54         bt.addMouseListener(new MouseAdapter()//鼠标监听
    55         {
    56             private int count = 1; 
    57             private int mouseCount = 1;
    58             public void mouseEntered(MouseEvent e)
    59             {
    60                 System.out.println("鼠标监听"+count++);
    61             }
    62             public void mouseClicked(MouseEvent e)
    63             {
    64                 if(e.getClickCount()==2)
    65                    System.out.println("鼠标被双击了");
    66                 else System.out.println("鼠标被点击"+mouseCount++);
    67             }
    68         });
    69     }
    70     
    71     public static void main(String[] agrs)
    72     {
    73         new MouseDemo();
    74     }
    75 }
  • 相关阅读:
    LC.225. Implement Stack using Queues(using two queues)
    LC.232. Implement Queue using Stacks(use two stacks)
    sort numbers with two stacks(many duplicates)
    LC.154. Find Minimum in Rotated Sorted Array II
    LC.81. Search in Rotated Sorted Array II
    LC.35.Search Insert Position
    前后端分离:(一)
    Redis基本使用(一)
    GIT篇章(二)
    GIT篇章(一)
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2520651.html
Copyright © 2011-2022 走看看