Tracking wird die Bewegung der Maus in java

Habe ich gearbeitet, auf eine grundlegende tower-defense-Spiel, und war auf der Suche, um zu verfolgen die Bewegungen der Maus. Ich brauche es nicht zu verfolgen, die Bewegung der Maus beim ziehen, aber nur, wenn die Maus über den Bildschirm, so dass der Benutzer sehen kann, wo der Turm wird aufgestellt werden. Ich habe erweiterte MouseAdapter zu machen, mit einem controller und klicken um einen Turm funktioniert, aber ich kann nicht herausfinden, wie verfolgen Sie die Bewegung der Maus sonst. Sollte überwiegendes B. mousemoved, dies zu tun? Ich habe versucht, mit wenig Erfolg. Nachdem man eine print-Anweisung, die ich sehen konnte, war das Ereignis nicht auslösen. Dies ist, was ich derzeit habe:

public class MouseController extends MouseAdapter {

    private final Board my_board;

    private final int square_size;

    public MouseController(final Board the_board, final int the_square_size) {
        my_board = the_board;
        square_size = square_size;
    }

    @Override
    public void mouseClicked(final MouseEvent e) {
        super.mouseClicked(e);
        Point p = e.getPoint();
        my_board.placeTower(p.x / square_size, p.y / square_size - 1);
    }

    @Override
    public void mouseMoved(final MouseEvent e) {
        super.mouseMoved(e);
        Point p = e.getPoint();
        my_board.placeCursor(p.x / square_size, p.y / square_size - 1);
    }
}

Jede Hilfe ist willkommen. Danke!

  • versuchen Sie final MouseEvent e. Es soll einfach MouseEvent e
  • sollte das nicht einen Unterschied machen, in der Tat, es kann argumentiert werden, dass es mehr richtige zu haben, final) wie die Referenz des Objekts ändert sich nie
  • Ich war eigentlich gesagt, von einem meiner Professoren, die letzten sollten fast immer verwendet werden, auf die Parameter der Methode. Unabhängig davon, ist es war, dass ich nicht fügen Sie die controller sowohl mouseListener als auch als MouseMotionListener. Ich habe diesen Fehler gemacht, vor. Trotzdem danke.
Schreibe einen Kommentar