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 }
  • 相关阅读:
    动态控件、控件的生存周期和ViewState的运行细节
    PDA开发初级经验
    编译原理知识总结
    A System for Collecting and Analyzing TopicSpecific Web Information
    show tooltip on control
    慧科新闻、慧科搜索
    内存泄漏
    www.sinobankers.com/forum“今日新帖”“最新会员”“论坛热贴”消失问题
    一堆信息抽取的资料文档
    showing tooltip on controls (description on TTN_NEEDTEXT)
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2520651.html
Copyright © 2011-2022 走看看