Próbuję uzyskać pozycję myszy w panelu, tak jak w lewym górnym rogu panelu = x/y 0,0.Znajdowanie pozycji myszy względem panelu
To co mam w tej chwili daje pozycję na całym ekranie, więc współrzędne są różne w zależności od tego, gdzie panel (który jest w ramce) znajduje się na ekranie. Sądzę, że mógłbyś dodać do współrzędnych x/y, aby to uwzględnić, ale wydaje się to niechlujnym rozwiązaniem. Czy ktoś może pomóc?
Oto używane narzędzie mouseListener, które zostało dodane do panelu.
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);
}
}
Ty, panie, jesteś dżentelmenem i uczonym! – DMCH