正如标题所示,我试图将一个动作监听器添加到窗口的基本形状上。我想知道这是否可能?我尝试添加监听器时遇到错误。
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){
}
}
答案 0 :(得分:6)
您无法向该对象添加鼠标侦听器。如果您尝试检测其中的鼠标单击,那么您希望将鼠标侦听器添加到正在绘制形状的任何Swing容器中,然后使用contains...
或intersects...
方法之一。
如果有机会,请查看Rectangle2D的文档。