public class WindowsMouseHook extends Object implements LowLevelMouseProc
This implementation registers a Windows hook and translates the native mouse messages into Java mouse/mouse-motion events.
Not all events are supported, the events that are supported are:
There are several deficiencies that could be addressed:
This class is experimental, unsupported and unstable in operation.
FIXME: There is probably a whole bunch more synchronisation should be going on in here, for example during release() the listeners should be removed and the call-back should be protected.
WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MBUTTONDOWN, WM_MBUTTONUP, WM_MOUSEMOVE, WM_MOUSEWHEEL, WM_RBUTTONDOWN, WM_RBUTTONUP
Constructor and Description |
---|
WindowsMouseHook(Component relativeTo)
Create a new mouse hook.
|
Modifier and Type | Method and Description |
---|---|
void |
addMouseListener(MouseListener listener) |
void |
addMouseMotionListener(MouseMotionListener listener) |
void |
addMouseWheelListener(MouseWheelListener listener) |
com.sun.jna.platform.win32.WinDef.LRESULT |
callback(int nCode,
com.sun.jna.platform.win32.WinDef.WPARAM wParam,
MSLLHOOKSTRUCT lParam)
Call-back.
|
void |
release() |
void |
removeMouseListener(MouseListener listener) |
void |
removeMouseMotionListener(MouseMotionListener listener) |
void |
removeMouseWheelListener(MouseWheelListener listener) |
void |
start()
Start the hook.
|
public WindowsMouseHook(Component relativeTo)
relativeTo
- component to report mouse coordinates relative topublic void addMouseListener(MouseListener listener)
listener
- public void removeMouseListener(MouseListener listener)
listener
- public void addMouseMotionListener(MouseMotionListener listener)
listener
- public void removeMouseMotionListener(MouseMotionListener listener)
listener
- public void addMouseWheelListener(MouseWheelListener listener)
listener
- public void removeMouseWheelListener(MouseWheelListener listener)
listener
- public void start()
public void release()
public com.sun.jna.platform.win32.WinDef.LRESULT callback(int nCode, com.sun.jna.platform.win32.WinDef.WPARAM wParam, MSLLHOOKSTRUCT lParam)
LowLevelMouseProc
callback
in interface LowLevelMouseProc
nCode
- message codewParam
- message parameterlParam
- message parameterCopyright © 2009-2012 Caprica Software Limited. All Rights Reserved.