将鼠标侦听器添加到java中的矩形

Sam*_*Sam 4 java swing listener mouselistener

正如标题所示,我试图在窗口上添加一个基本形状的动作监听器.我想知道这是否可能?我尝试添加监听器时遇到错误.

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){
    }
}
Run Code Online (Sandbox Code Playgroud)

Per*_*ion 6

您无法向该对象添加鼠标侦听器.如果您尝试检测其中的鼠标单击,那么您希望将鼠标侦听器添加到要绘制形状的任何Swing容器中,然后使用其中一个contains...或多个intersects...方法.

如果有机会,请查看Rectangle2D的文档.