Добавление слушателя мыши в прямоугольник в Java - PullRequest
4 голосов
/ 04 сентября 2011

Как видно из заголовка, я пытаюсь добавить слушателя действия к базовой фигуре в окне.Мне интересно, возможно ли это вообще?Я получаю ошибки, когда пытаюсь добавить слушателя.

public static void main(String args[]) {
    JFrame frame = new Main();
    frame.setSize(300, 200);
    frame.setVisible(true);
    frame.setBackground(Color.BLUE);
}

Rectangle2D rect = new Rectangle2D.Double(60, 70, 120, 80);

public void paint(Graphics g) {
    Graphics2D g1 = (Graphics2D)g;
    g1.draw(rect);
    g1.setPaint(Color.yellow);
    g1.fill(rect);
}

Handlerclass handle = new Handlerclass();
rect.addMouseListener(handle);

public class Handlerclass implements MouseListener{
    public void mouseClicked (MouseEvent e){
    }
}

1 Ответ

6 голосов
/ 04 сентября 2011

Вы не можете добавить слушателя мыши к этому объекту. Если вы пытаетесь обнаружить щелчки мыши внутри него, то вы хотите добавить слушателя мыши в любой контейнер Swing, в котором вы рисуете фигуру, затем используйте один из методов contains... или intersects....

Ознакомьтесь с документацией для Rectangle2D , когда у вас есть шанс.

...