質問

フレームに対してマウスの場所を取得したいです。

MouseInfo絶対位置を教えてください。

フレームに対する毒を得る方法?Tahnks。

役に立ちましたか?

解決

getLocationOnScreen()でフレームの絶対位置を取得してから、相対距離を計算します。

他のヒント

最初に、現在の範囲から上部へのツリーを上に歩きます(それはフレームになるでしょう):

Container container = this.getParent();
Container previous = container;
while (container != null)
{
    previous = container;
    container = container.getParent();
}
.

前の中古コンテナ

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 としてyを取得するために:

public int getXRelativeTo() {
    int y = frame.getY() - MouseInfo.getPointerInfo().getLocation().y;
    return y;
}
.

私は助けたことを願っています。:)

詳細については、 http:// docs.oracle.com / javase / 7 / docs / api / java / aw / mooseinfo.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top