Trouver la Position de la Souris par rapport à un panneau
Je vais essayer d'obtenir la position du curseur souris à l'intérieur d'un groupe, comme dans la partie supérieure gauche du panneau = x/y 0,0.
Ce que j'ai à la minute donne la position sur la totalité de l'écran, donc selon l'endroit où le panneau (qui est dans un cadre (frame) est sur l'écran, les coordonnées sont différentes. Je suppose que vous pourriez ajouter à l'x/y de coordonnées pour en tenir compte, mais ce qui semble comme un malpropre de la solution. Quelqu'un peut-il aider?
Voici le mouseListener je suis à l'aide, qui a été ajouté au panneau.
private class MouseListener extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
//Finds the location of the mouse
PointerInfo a = MouseInfo.getPointerInfo();
Point b = a.getLocation();
//Gets the x -> and y co-ordinates
int x = (int) b.getX();
int y = (int) b.getY();
System.out.println("Mouse x: " + x);
System.out.println("Mouse y: " + y);
//Determines which tile the click occured on
int xTile = x/tileSize;
int yTile = y/tileSize;
System.out.println("X Tile: " + xTile);
System.out.println("Y Tile: " + yTile);
}
}
OriginalL'auteur DMCH | 2012-10-12
Vous devez vous connecter pour publier un commentaire.
Voir MouseEvent.getPoint().
OriginalL'auteur Andrew Thompson
Vous pouvez utiliser
MouseEvent.getX()
etMouseEvent.getY()
pour obtenir les coordonnées relatives de X & Y, respectivement.OriginalL'auteur Reimeus