0

ここに私が使用しているファイル全体があり、絶望的に、すべてのイベントで x と y を定義するようにしましたが、まだ何も得られません..これはマルチクラスのプロジェクトです。どこをすればよいaddMouseListener()ですか? そして、なぜこれがイベントを取り上げていないのですか? (注: 座標の印刷はrun()動作します。) これはアプレット プロジェクトであり、アプレットはこのイベントを登録しないだけで正常に動作します。

public class ClickCheck implements Runnable, java.awt.event.MouseListener {
public int x, y;

public ClickCheck() {

    Thread t = new Thread(this);
    t.start();
}

public void mouseClicked(java.awt.event.MouseEvent ev) {

    x = ev.getX();
    y = ev.getY();
    System.out.println(x + "," + y);
}

public void mousePressed(java.awt.event.MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    System.out.println(x + "," + y);
}

public void mouseReleased(java.awt.event.MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    System.out.println(x + "," + y);
}

public void mouseEntered(java.awt.event.MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    System.out.println(x + "," + y);
}

public void mouseExited(java.awt.event.MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    System.out.println(x + "," + y);
}

public void run() {
    System.out.println(x + "," + y);

}
}
4

1 に答える 1

1

MouseListenerアプレットのメインウィンドウ/パネル領域にを追加する場合は、これをアプレットinit()メソッドに追加します。

public void init()
{
   addMouseListener(new ClickCheck());
   ...

Threadまた、に含まれていることは非常に珍しいことMouseListenerです。スレッド自体が座標を出力し、すぐに終了します。

于 2012-10-16T00:34:02.467 に答える