将MouseListener添加到java.awt.Image

时间:2015-07-08 20:16:08

标签: java swing

有没有办法可以将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);

1 个答案:

答案 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);