Returns a PointerInfo
instance that represents the current
location of the mouse pointer.
The GraphicsDevice
stored in this PointerInfo
contains the mouse pointer. The coordinate system used for the mouse position
depends on whether or not the GraphicsDevice
is part of a virtual
screen device.
For virtual screen devices, the coordinates are given in the virtual
coordinate system, otherwise they are returned in the coordinate system
of the GraphicsDevice
. See {@link GraphicsConfiguration}
for more information about the virtual screen devices.
On systems without a mouse, returns null
.
If there is a security manager, its checkPermission
method
is called with an AWTPermission("watchMousePointer")
permission before creating and returning a PointerInfo
object. This may result in a SecurityException
.
if (GraphicsEnvironment.isHeadless()) {
throw new HeadlessException();
}
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkPermission(SecurityConstants.WATCH_MOUSE_PERMISSION);
}
Point point = new Point(0, 0);
int deviceNum = Toolkit.getDefaultToolkit().getMouseInfoPeer().fillPointWithCoords(point);
GraphicsDevice[] gds = GraphicsEnvironment.getLocalGraphicsEnvironment().
getScreenDevices();
PointerInfo retval = null;
if (areScreenDevicesIndependent(gds)) {
retval = new PointerInfo(gds[deviceNum], point);
} else {
for (int i = 0; i < gds.length; i++) {
GraphicsConfiguration gc = gds[i].getDefaultConfiguration();
Rectangle bounds = gc.getBounds();
if (bounds.contains(point)) {
retval = new PointerInfo(gds[i], point);
}
}
}
return retval;