MouseTrackListener 监听的使用问题

问题描述

针对这个接口的说明文档是/***Sentwhenthemousepointerhovers(thatis,stopsmoving*foran(operatingsystemspecified)periodoftime)over*acontrol.**@parameaneventcontaininginformationaboutthehover*/我想知道这个悬停时间我可以自己在程序中设置么?

解决方案

解决方案二:
估计这个要研究一下源码才能知道吧。
解决方案三:
mouseHover(MouseEvente)Sentwhenthemousepointerhovers(thatis,stopsmovingforan(operatingsystemspecified)periodoftime)overacontrol.mouseHover这个鼠标悬停后激活时间的接口,其中的悬停时间可以在操作系统哪里进行设置啊。?另外,我可以自己在程序中进行设置吗?
解决方案四:
不是写了是operatingsystemspecified吗?那应该就是操作系统的设置吧,比这个时间慢还是可以自己实现,但要比这个时间快应该做不到吧,除非你去改操作系统的设置。
解决方案五:
引用3楼vnvlyp的回复:

不是写了是operatingsystemspecified吗?那应该就是操作系统的设置吧,比这个时间慢还是可以自己实现,但要比这个时间快应该做不到吧,除非你去改操作系统的设置。

比这个时间慢要通过什么方法设置啊?
解决方案六:
你这个是哪里的API?这一套API应该提供配置功能吧,或者有源码的话你看看源码是怎么写的。
解决方案七:
引用5楼vnvlyp的回复:

你这个是哪里的API?这一套API应该提供配置功能吧,或者有源码的话你看看源码是怎么写的。

解决方案八:
SWT默认的Hover时间间隔已经很好了吧。。我看了一下貌似没有发现提供设置时间的,如果还要短,我只能想到监测MouseMove事件,如果一段时间内没有移动鼠标,就触发Hover。
解决方案九:
不是吧,时间一点也不好啊。每次鼠标挪上去,马上就触发事件了。我想将时间设置的长一点。大概停留三秒调用监听事件。
解决方案十:
哦你是要慢一点。。我以为你还要更快慢的话方法应该很多,有个简单点的办法,当触发Hover事件后,设置一个Boolean标识为false,然后sleep一下,如果这段时间有mouseMove事件,那么把那个标识设为true,sleep结束后检查那个标识,如果为false表面一直悬停在这,就可以继续响应事件,你通过控制sleep的时间就可以达到延迟的效果。
解决方案十一:
写了一个例子importorg.eclipse.swt.SWT;importorg.eclipse.swt.widgets.Display;importorg.eclipse.swt.widgets.Event;importorg.eclipse.swt.widgets.Listener;importorg.eclipse.swt.widgets.Shell;publicclassSWTTest{privatestaticbooleanmoved;publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();Shellshell=newShell(display);shell.addListener(SWT.MouseMove,newListener(){@OverridepublicvoidhandleEvent(Eventevent){moved=true;}});shell.addListener(SWT.MouseHover,newListener(){@OverridepublicvoidhandleEvent(Eventevent){moved=false;newThread(){@Overridepublicvoidrun(){try{Thread.sleep(1000);}catch(InterruptedExceptione){e.printStackTrace();}if(!moved){System.out.println("Hover");}}}.start();}});shell.open();while(!shell.isDisposed()){if(!display.readAndDispatch()){display.sleep();}}display.dispose();}}

解决方案十二:
引用10楼vnvlyp的回复:

写了一个例子importorg.eclipse.swt.SWT;importorg.eclipse.swt.widgets.Display;importorg.eclipse.swt.widgets.Event;importorg.eclipse.swt.widgets.Listener;importorg.eclipse.swt.widgets.Shell;publicclassSWTTest{privatestaticbooleanmoved;publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();Shellshell=newShell(display);shell.addListener(SWT.MouseMove,newListener(){@OverridepublicvoidhandleEvent(Eventevent){moved=true;}});shell.addListener(SWT.MouseHover,newListener(){@OverridepublicvoidhandleEvent(Eventevent){moved=false;newThread(){@Overridepublicvoidrun(){try{Thread.sleep(1000);}catch(InterruptedExceptione){e.printStackTrace();}if(!moved){System.out.println("Hover");}}}.start();}});shell.open();while(!shell.isDisposed()){if(!display.readAndDispatch()){display.sleep();}}display.dispose();}}

sleep这个暴力不好吧。软件的其他东西还在运行,你这么sleep,那不是坑?

时间: 2024-10-28 05:33:31

MouseTrackListener 监听的使用问题的相关文章

计算机改名引发的ORA-12541: TNS无监听程序错误

 近期上班时,由于开机时老是提示" 局域网出现计算机重名冲突",于是把计算机名字给改了,从PC2010081312zeo改为了CXBIKKKKKKK,结果第二天来的时候,用 PL/SQL连接我本地机子的ORACLE实例时,弹出ORA-12541:TNS无监听程序错误的提示,当时也没想到是计算机改名引起的问题,以为是相 关服务没有启动缘故,于是我打开服务面板,如图所示,发现 OracleOraDb10g_home1TNSListener服务没有启动,于是启动这个服务,结果等我启动后,出现

Android 监听软键盘搜索键

  现在很多的Android应用都有了数据搜索功能,在以往的设计上,会使用搜索框+搜索按钮来实现搜索功能: 现在呢,越来越流行的是,去除搜索按钮,直接监听软键盘搜索键,当用户输入完搜索关键字后,直接点击软件盘上的"所搜"键,查询要搜索等信息.   要实现上面的搜索效果,当然,我们要监听软键盘的搜索键. EditText mEditSearch = (EditText)this.findViewById(R.id.mEditSearch); mEditSearch.setOnEditor

frame-求救。为什么键盘监听事件不响应了。。

问题描述 求救.为什么键盘监听事件不响应了.. mport java.awt.CardLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impor

精确监听AbsListView滚动至底部

用户使用android客户端时,当ListView滚动至底部,可以由一个按钮来提示用户是否读下一页,那么如果使用GridView呢?现在很多WEB 2.0上的体验就是当底部时自动读取下一页数据,GridView(ListView也可)可以采用这种方法.网上已经有很多文章介绍了如何判断ListView是否滚动至底部,原理是 AbsListView.getLastVisiblePosition() = (AbsListView.getCount() - 1) 即到底,如果往上拖一点,用户看起来已经离

讯飞语音识别监听的同时识别

问题描述 讯飞语音识别监听的同时识别 现在看demo是先按下录音键,录完一段声音后再按一下,才能给出结果. 是否有这样一种可能,我按下录音,然后一直监听,实时给出识别结果,如果识别结果中有关键字,再结束监听. 解决方案 http://www.cnblogs.com/zhangdongdong/p/3502553.html

android如何监听点击的是哪个快捷方式

问题描述 android如何监听点击的是哪个快捷方式 android 如何监听点击的是哪个快捷方式,我现在要创建一个空的快捷方式,然后在点击的时候开启一个服务,求帮忙 解决方案 Android 四种点击监听方式Android 快捷方式android studio 快捷方式 解决方案二: 你问题表达的不够清楚 解决方案三: 你问的是什么哦!是添加快速监听器的方快捷键吗?android studio

手动设定实例变量的KVO实现监听

手动设定实例变量的KVO实现监听 如果将一个对象设定成属性,这个属性是自动支持KVO的,如果这个对象是一个实例变量,那么,这个KVO是需要我们自己来实现的. 以下给出源码供君测试: Student.h 与 Student.m // // Student.h // SuperNotification // // Copyright (c) 2014年 Y.X. All rights reserved. // #import <Foundation/Foundation.h> @interface

点击按钮-安卓开发 按钮监听 拍照功能

问题描述 安卓开发 按钮监听 拍照功能 目前在学习安卓,想要实现点击按钮进行拍照,请问怎么实现 我是安卓初学者,麻烦能把详细代码提供给我,感激不尽 解决方案 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE): startActivityForResult(intent)

移动-java tree.addMouseMotionListener();鼠标监听功能

问题描述 java tree.addMouseMotionListener():鼠标监听功能 1C tree.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseMoved(MouseEvent arg0) { //鼠标移动 int x = (int) arg0.getPoint().getX(); int y = (int) arg0.getPoint().getY(); System.out