我有这个:label = new JLabel [9] [9]。我想为标签设置一个新图标(对于标签,我点击的地方,当然)。我也有一个面板(带有gridlayout),我有标签,它是500x500。
所以在mouselistener中,我知道,我可以使用getX()和getY()。在那之后,我怎么能说我点击了哪一行和哪一行?我应该将面板划分为小区域吗?我希望这个问题是可以理解的。我在这里读到了这样的问题,但我没有找到答案...
到目前为止,我写了这个:
public void mouseClicked(MouseEvent e){
int mouseX = e.getX();
int mouseY = e.getY();
int i = 0;
int j = 0;
URL url = Click.class.getResource("image.png");
ImageIcon img = new ImageIcon(url);
label[i][j] = new JLabel(img);
}
答案 0 :(得分:0)
你说你有一个带有GridLayout的面板。你还没有说出你的名字,所以我们称之为p
。
在mouseClicked
方法中,执行:
JLabel jlb = (JLabel) p.getComponentAt(e.getX(),e.getY());
现在做任何你想做的事。