科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java基础:看看流行的和过时的鼠标事件 (1)

Java基础:看看流行的和过时的鼠标事件 (1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

看看流行的和过时的鼠标事件

作者:Tony Sintes 来源:javaworld 2007年10月31日

关键字: 鼠标 java

  • 评论
  • 分享微博
  • 分享邮件

MouseListener 方法接口中的mouseClicked() 方法和mousePressed() 方法有什么区别?

这是一个热门的话题,让我们来深入的找寻答案,Java’s AWT 库提供了两个接口来监听和接收鼠标事件. 一个是 java.awt.event.MouseListener:

  
  
  public interface MouseListener extends EventListener 
  
  { 
  
  public void mousePressed(MouseEvent e); 
  
  public void mouseReleased(MouseEvent e); 
  
  public void mouseClicked(MouseEvent e); 
  
  public void mouseEntered(MouseEvent e); 
  
  public void mouseExited(MouseEvent e); 
  
  }

  

另一个是 java.awt.event.MouseMotionListener:

  
  
  public interface MouseMotionListener extends EventListener 
  
  { 
  
  public void mouseDragged(MouseEvent e); 
  
  public void mouseMoved(MouseEvent e); 
  
  }

  

Swing 提供了 MouseInputListener, 这个接口的同时扩展了MouseMotionListener 和MouseListener 接口.

  

让我们来看看这些接口中的方法:

・ mousePressed() 当用户按下鼠标按钮时发生.  

・ mouseReleased() 当用户松开鼠标按钮时发生.

・ mouseClicked() 当用户按下并松开鼠标按钮时发生. 用户在选择或双击图标的时候通常会点击鼠标按钮. 用户如果在松开鼠标之前移动鼠标,点击不会导致鼠标相应事件出现.  

・ 因为点击鼠标是按下鼠标和松开鼠标的结合, 在事件分配给 mouseClicked() 方法之前, mousePressed() 和 mouseReleased() 方法已同时被调用.  

・ mouseEntered() 当鼠标离开当前组件并进入你所监听的组件时激活事件.

・ mouseExited() 当鼠标离开你所监听的组件时发生.  

・ mouseDragged() 当用户按下鼠标按钮并在松开之前进行移动时发生.在mouseDragged() 后松开鼠标不会导致mouseClicked().  

・ mouseMoved() 当鼠标在组件上移动而 不时拖动时发生.

 

要监听鼠标事件就必须调用这些接口之一,或扩展一个鼠标适配器(mouse adapters) 类. AWT 提供了两种监听适配器(listener adapters): java.awt.event.MouseAdapter 和java.awt.event.MouseMotionAdapter.

Swing 为MouseInputListener提供了一个叫做javax.swing.event.MouseInputAdapter的适配器. 有了适配器你就不必调用接口中每个方法了. 取而代之, 你只需简单的扩展适配器并重写你要监听的方法就可以了.

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章