0

マウスの左ボタンをクリックしたときに x 座標と y 座標を表示するプログラムを作成しようとしていますが、うまくいきません。プログラムを実行すると、コンソールに x 座標と y 座標が自動的に表示されますが、マウス クリック後に座標を確認したいと考えています。

import java.awt.*;
import java.awt.event.*;
import javax.swing.SwingUtilities;

public class Simple {
    public static void main(String[] args){
        Mouse maus = new Mouse();
        maus.mouseClicked(null);
    }
}

2 番目のファイル

import java.awt.*;
import java.awt.event.*;

public class Mouse implements MouseListener {
     public void mouseClicked(MouseEvent e) { 
         double mouseX = MouseInfo.getPointerInfo().getLocation().getX();
         double mouseY = MouseInfo.getPointerInfo().getLocation().getY();
         System.out.println(mouseX+"   "+mouseY);
    }
    @Override
    public void mouseEntered(MouseEvent arg0) {}

    @Override
    public void mouseExited(MouseEvent arg0) {}

    @Override
    public void mousePressed(MouseEvent arg0) {}

    @Override
    public void mouseReleased(MouseEvent arg0) {}   
}
4

1 に答える 1

2

コードで行っているのは の記述ですがMouseListener、それを GUI コンポーネントに追加するのではなく (マウスをクリックするとアクティブになります)、自分で呼び出します。これが、プログラムの開始時に実行される理由です。

必要なことはaddMouseListener、GUI コンポーネントの 1 つでメソッドを使用し、リスナーをそれに登録することです。

それについてはかなり良いガイドがあります こちら、例も付いています。

于 2016-05-28T15:28:52.393 に答える