0

のアイコンとして配置された地図の画像がありますJLabel。次のコードを使用して、マウスがクリックされた場所の X、Y 座標を取得しています。このコードを の MouseClick イベントに入れましたJLabel

Point point = MouseInfo.getPointerInfo().getLocation();

double X = point.getX();
double Y = point.getY();

JFrameただし、座標はフォームの場所によって異なります。フォームを移動すると座標が変わります。

とにかく凍結できるものはありJFrameますか?または、とにかく画像の角を 0,0 として取得し、それに対する他の座標を取得できますか? (だから私は実際の座標を計算することができます)

4

1 に答える 1

4

getLocation画面に対するマウス座標を返します。MouseEvent代わりにの座標を使用してください

label.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
         double x = e.getX();
         double y = e.getY();
         ...
    }
});
于 2013-11-14T12:35:43.683 に答える