我有几个图像,我正在尝试添加一个mouseListener,它不起作用

时间:2017-08-12 23:35:52

标签: java swing mouselistener imageicon drawimage

我一直在尝试将一个mouseListener添加到我在paintComponent中绘制的图像,但它似乎不起作用。我试图使它成为一个JLabel并添加mouseListener,但它也不起作用。我能找到的唯一解决方案是将mouseListener添加到paintComponent类本身,我在那里绘制了几个图像,单击每个图像时都会触发mousePressed事件。 我尝试在不同的JPanel中绘制每个图像,然后将它们添加到JFrame中的JPanel,但它们互相覆盖。 以下是3张图片中的一张以及我如何使用它们的示例:

    ImageIcon emirates = new ImageIcon("UAE.png");
    Image uae = emirates.getImage();

这是我的paintComponent类,它是在JFrame类中使用的no-arg中实现的。

class Map extends JPanel{

int x = getWidth()/2;
int y = getHeight()/2;

@Override
protected void paintComponent(Graphics g){
    super.paintComponent(g);

    g.drawImage(uae,(x+480), (y+265),100,100,this);
    g.drawImage(bhr, (x+420), (y+240),50,50,this);
    g.drawImage(kwt,(x+350), (y+150),80,80,this);

}

}

如您所见,我有多张地图可供绘制。但是我只能给整个班级一个mouseListener。我该怎么办?

0 个答案:

没有答案