获取JLabels java网格布局中元素的位置(行和列)

时间:2013-01-08 03:05:12

标签: java swing jpanel jlabel grid-layout

我有一个JPanel,其中GridLayoutJLabels,当用户点击其中一个标签时,我希望能够获取该单元格的行和列他们点击(或布局中的索引,如果这更方便)。如果有人知道如何做到这一点,或有任何建议,我们非常感谢任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:3)

使用合成并将此结构包装到POJO中,每个标签都有一个注册的MouseListener ...它是一个基本的管理器对象,或者可能使用JTable

答案 1 :(得分:1)

创建标签时,您可以使用其“名称”属性来保存ID

for(int x ....)
{
  ...
  label[x] = new JLabel(...);
  label[x].setName(String.valueOf(x));//<------------
  ...
}

如果你通过mouseListener获取Source(),那么你可以将源码转换为JLabel,然后是label.getName()

将返回一个可以解析为int的String。