如何在Java中检测图像类中的单击事件?
我正在通过创建一个简单的游戏来练习学习Java。在我的简单游戏中,我想使用image类,我想单击image类,它会弹出一个类似alert的对话框如何在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); } } 我希望,如果我单击了该图像,该
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);
}
}