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