有没有办法可以将MouseListener添加到图像中?
我看了this StackOverflow问题,但它并没有真正回答如何为java.awt.Image
做这个问题,因为没有Graphics2D Image类。或至少有一个我找到了。
修改
为了澄清,让我试着解释一下:
使用Ellipse2D
,我可以说:
if(ellipse2D.contains(mouseX, mouseY) {
...do something
}
这可能是java.awt.Image
(即image.contains()
)
此外,这是将图像添加到JPanel的方式:
Image image = item.getIcon().getImage(); //item.getIcon() returns a javax.swing.ImageIcon
g.drawImage(image, imageX, imageY, null);
答案 0 :(得分:2)
您可以将图像放入JLabel并将监听器添加到JLabel
ImageIcon image = item.getIcon();
JLabel labelWithImage = new JLabel(image);
labelWithImage.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("Mouse Entered Over Image");
}
});
panel.add(labelWithImage);