마우스 포인터 위치를 프레임과 관련하여 얻는 방법
-
12-12-2019 - |
문제
프레임에 상대적인 마우스 위치를 얻고 싶습니다.
MouseInfo는 절대 위치를줍니다.
프레임을 비교하여 poisition을 얻는 방법은 무엇입니까?tahnks.
해결책
getLocationOnScreen ()을 사용하여 프레임의 절대 위치를 가져온 다음 상대 거리를 계산합니다.
다른 팁
첫째, 현재 범위에서 상단으로 트리를 걷다 (프레임이 될 것입니다) :
Container container = this.getParent();
Container previous = container;
while (container != null)
{
previous = container;
container = container.getParent();
}
.
이전 top container
if (previous instanceof JFrame)
{
Point p = ((JFrame)previous).getMousePosition();
System.out.println(p); // or do what you need to with p
}
. 프레임 에 비해 마우스 의 위치를 계산하려면 프레임의 위치에서 마우스의 절대 위치 을 빼야합니다 프레임의 왼쪽 상단 모서리에서 화면의 왼쪽 상단 모서리까지의 외부 지점을 취소합니다.
포인트 :
프레임과 상대적인 마우스의 위치를 얻으려면public Point getLocationRelativeTo() {
int x = frame.getX() - MouseInfo.getPointerInfo().getLocation().x;
int y = frame.getY() - MouseInfo.getPointerInfo().getLocation().y;
return new Point(x, y);
}
.
x를 int :
로 얻으려면public int getXRelativeTo() {
int x = frame.getX() - MouseInfo.getPointerInfo().getLocation().x;
return x;
}
.
int :
를 가져 오려면public int getXRelativeTo() {
int y = frame.getY() - MouseInfo.getPointerInfo().getLocation().y;
return y;
}
.
나는 도움이 되었기를 바랍니다.:)
자세한 정보는 http : // docs를 방문하십시오..oracle.com / javase / 7 / docs / api / java / awt / mouseinfo.html
제휴하지 않습니다 StackOverflow