java - How to control the frequency of MouseEvents in mouseDragged(MouseEvent me) -
example:
when click , drag mouse across screen, system picks , registers every mouseevent until release. example, let's clicking , dragging distance yields 10 events. system pick on , register every other mouseevent, such dragging mouse same distance across screen produce 5 mouseevents.
is there way control this? , how mousedragged(mouseevent me) work anyway? like, determines how it's called mouse being dragged , can controlled user?
on project this:
public class myclass implements mousemotionlistener { private static final long event_frequency = 200; //ms private scheduledexecutorservice scheduler = executors.newscheduledthreadpool(1); private scheduledfuture<?> mousedraggedfrequencytimer; private mouseevent lastdragevent; public myclass() { this.addmousemotionlistener(this); } @override public void mousedragged(mouseevent e) { lastdragevent = e; if (mousedraggedfrequencytimer == null || mousedraggedfrequencytimer.iscancelled() || mousedraggedfrequencytimer.isdone()) { mousedraggedfrequencytimer = scheduler.schedule(new runnable() { @override public void run() { system.out.println("dragevent called: " + lastdragevent.getx()); } }, event_frequency, timeunit.milliseconds); } } @override public void mousemoved(mouseevent e) { } }
Comments
Post a Comment