我有很多标签。我的问题是,如果我点击label2
,我就不知道怎么写,然后在label2
上设置新图片,但label1
没有变化。标签的名称与A1-A10相同。 (我实际上有92个标签,所以这很麻烦。)这是我的代码:
public void mouseClicked(MouseEvent event) {
if (event.getSource()==A1 && (x==1)) {
A1.setIcon(new ImageIcon("zoldgomb.jpg"));
x=2;
} else if(x==2) {
A1.setIcon(new ImageIcon("sargagomb.jpg"));
x=1;
}
}
if (event.getSource() instanceof JLabel) {
if (x == 1) {
((JLabel)event.getSource()).setIcon(new ImageIcon("zoldgomb.jpg"));
x = 2;
} else if (x == 2) {
((JLabel)event.getSource()).setIcon(new ImageIcon("sargagomb.jpg"));
x = 1;
}
}
答案 0 :(得分:2)
b
或s
,除非它们被用于琐碎的目的,例如for循环的索引。而是使用具有某种含义的名称,以便您的代码成为自我评论。 getSource()
来识别哪个JLabel被按下了。您的参数在上面命名为event
。setIcon(...)
方法。