Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Mar 19, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

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
Brett Spell
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date