Java MouseEvent, праверце, націснута ці націснута

У мяне ёсць клас, які рэалізуе MouseListener (JPanel). Калі я націскаю на панэль, нешта адбываецца. Мне патрэбны нейкі цыкл while, які зацыкліваецца, пакуль націснута левая кнопка мышы.

@Override
public void mousePressed(MouseEvent e) {
    while(e.isPressedDownD) {      // <--
        //DO SOMETHING
    }
}

Гэта, відавочна, не працуе, але я спадзяюся, вы разумееце, чаго я спрабую дасягнуць. Увесь клас для тых, хто цікавіцца:

package control;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import model.GridModel;
import view.GUIView;

public class MapListener implements MouseListener{
    private GridModel model;
    private GUIView view;
    private int posX;
    private int posY;

    public MapListener(GridModel model, GUIView view) {
        this.model = model;
        this.view = view;
    }

    @Override
    public void mouseClicked(MouseEvent e) {
        posX = e.getX();
        posY = e.getY();
        model.setMouseAtX(posX);
        model.setMouseAtY(posY);
        view.paintTile();
        System.out.println("X: " + posX + " Y: " + posY);
    }

    @Override
    public void mouseEntered(MouseEvent e) {
    }

    @Override
    public void mouseExited(MouseEvent arg0) {
    }

    @Override
    public void mousePressed(MouseEvent e) {
        while(e.getModifiers() == MouseEvent.MOUSE_PRESSED) { //Obviously doesn't work
            //DO SOMETHING
        }
    }

    @Override
    public void mouseReleased(MouseEvent arg0) {
    }
}
6
задан Rick 14 March 2015 в 01:38
поделиться