如何使用基于getX和getY的mouselistener设置标签?

时间:2016-03-31 11:30:58

标签: java swing labels mouselistener

我有这个: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);
            }

1 个答案:

答案 0 :(得分:0)

你说你有一个带有GridLayout的面板。你还没有说出你的名字,所以我们称之为p

mouseClicked方法中,执行:

JLabel jlb = (JLabel) p.getComponentAt(e.getX(),e.getY());

现在做任何你想做的事。