devxlogo

Determine Absolute Cursor Coordinates

Determine Absolute Cursor Coordinates

When a component event such as a mouse click occurs, Java provides the cursor coordinates relative to the top left corner of the component in which the event took place. However, it can be useful to determine the cursor’s absolute screen position instead. For example, you could use this information to create “tool tips” or “bubble help” windows, since that functionality is not included in the Java 1.1 (or earlier) core classes.

To obtain the cursor’s absolute position on the screen, add the component’s absolute position on the screen to the cursor’s relative position within the component. You can obtain the component’s absolute position on the screen by calling its getLocationOnScreen() method, and you can get the cursor’s offset position from the MouseEvent instance. For example:

 import java.awt.*;import java.awt.event.*;public class MouseMonitor extends Panel implements MouseMotionListener {	public void mouseDragged(MouseEvent event) {};	public void mouseMoved(MouseEvent event) {		//  Gets the cursor's position relative to the component		Point relative = event.getPoint();		//  Get component associated with the event		Component comp = event.getComponent();		//  Get component's absolute screen location		Point location = comp.getLocationOnScreen();		//  Calculate cursor's absolute position on screen		Point absolute = new Point(relative.x + location.x,relative.y + location.y);		//  Print cursor's absolute position		System.out.println("Absolute position: " + absolute);	}  //  public void mouseMoved()}  //  public class DoubleClickTest extends Panel implements MouseListener()
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist