如何在Java中检测图像类中的单击事件?

如何在Java中检测图像类中的单击事件?,java,image,swing,mouseevent,Java,Image,Swing,Mouseevent,我正在通过创建一个简单的游戏来练习学习Java。在我的简单游戏中,我想使用image类,我想单击image类,它会弹出一个类似alert的对话框 public class Sample { Image img = getImage(getClass().getResource("0.jpg")); void paint (Graphics g) { g.drawImage(img,30,30,this); } } 我希望,如果我单击了该图像,该

我正在通过创建一个简单的游戏来练习学习Java。在我的简单游戏中,我想使用image类,我想单击image类,它会弹出一个类似alert的对话框

public class Sample
{
    Image img = getImage(getClass().getResource("0.jpg"));

    void paint (Graphics g)
    {
        g.drawImage(img,30,30,this);
    }
}

我希望,如果我单击了该图像,该图像将检测到单击事件,并显示一个警报对话框。

我几天前编写了一个函数:

public boolean isBetween(float x1, float y1, float x2, float y2, float objeX, float objeY) {
    if ((x1 <= objeX && x2 >=objeX) || (x1 >=objeX && x2<=objeX )) {
        if ((y1 <= objeY && y2 >=objeY) || (y2 <= objeY && y1 >=objeY))
            return true;
    }
    else {
        return false;
    }
}
public boolean isBetween(浮点x1、浮点y1、浮点x2、浮点y2、浮点objeX、浮点objeY){

如果((x1=objeX)| |(x1>=objeX&&x2最好在中查找显示图片的方法。那么您只需添加并覆盖用于侦听鼠标的正确方法单击
JLabel

即可创建具有背景图像(您想要的图像)的自定义JPanel。然后,您可以使用JPanel的功能来侦听单击事件。自定义JPanel可以是这样的(摘自):


有关事件的更多信息,您可以查看Oracle教程。

只需使用
图像图标创建
JLabel
,它已经有
addMouseListener()
。对于第一个链接,Firefox报告“www.java2s.com上的此网页已被报告为攻击网页,并已根据您的安全偏好被阻止。”。
class ImagePanel extends JPanel {

    private Image img;

    public ImagePanel(String img) {
        this(new ImageIcon(img).getImage());
    }

    public ImagePanel(Image img) {
        this.img = img;
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
    }

    public void paintComponent(Graphics g) {
        g.drawImage(img, 0, 0, null);
    }
}