0

ボックス内でマウスを動かす距離を計算しようとしています。MouseEvent.getX()とMouseEvent.getY()を使用してマウスの開始位置を計算しています。次に、位置を保存して計算する別のメソッドがあります。マウスが移動した距離。これを示すために私が書いたコードを次に示します。

BlankArea.addMouseMotionListener(new MouseMotionListener(){
            @Override
            public void mouseMoved(MouseEvent mm){
                System.out.println("Position (" + mm.getX() + ", " 
                                                + mm.getY() + ")");
                savePosition(mm.getX(), mm.getY());
            }

            @Override
            public void mouseDragged(MouseEvent md) {
                System.out.println("Position (" + mm.getX() + ", " 
                                                + mm.getY() + ")");
                savePosition(mm.getX(), mm.getY());
            }
        });

私の質問は次のとおりです。JavaAPIは、getX()とgetY()がそれぞれソースコンポーネントを基準にした水平座標と垂直座標を返すと述べています。ソースコンポーネントは何ですか?出力座標はどの単位で測定されますか?

4

2 に答える 2

4

Stack Overflowへようこそ...ソースコンポーネントは実際にはリスナーを作成したコンポーネントであり、出力座標はピクセル単位で測定されます...

これがお役に立てば幸いです...まだ質問がある場合は、質問してください...

于 2013-02-10T17:48:19.280 に答える
1

あなたの質問に答えるには:

1)ソースコンポーネントは何ですか?

Mr.777が言ったように、それはあなたがリスナーを追加したコンポーネントなので、あなたの例ではそれはBlankAreaです。

2)出力座標はどの単位で測定されますか?

Mr.777が言ったように、それらは原点(0、0)がコンポーネントの左上にあるピクセルで測定されます。

オンラインでJavaチュートリアルのいくつかを読むことをお勧めします。これは、Java座標系の座標(Javaチュートリアル)を確認するのに適したページです。

于 2013-02-10T18:17:51.907 に答える