带有getComponent的Java标签集图标

时间:2014-06-03 09:26:43

标签: java swing label imageicon

我有一个框架,在这个框架中我有10个标签。

如果我点击标签,那么它的图标应该设置为“zoldgomb.jpg”,如果我第二次点击它应该设置为“sargagomb.jpg”。

这部分是有效的,现在我的问题是:如何编写,以便我不必为10个标签(标签名称A1-A11)中的每个标签写下这部分十次?

if (event.getSource()==A1) {

if (x==1) {
A1.setIcon(new ImageIcon("zoldgomb.jpg"));
x=2;
}else if (x==2) {
 A1.setIcon(new ImageIcon("sargagomb.jpg"));
 x=1;
}  }

1 个答案:

答案 0 :(得分:0)

event.getSource()返回对JLabel的引用,您可以使用下一个内容:

    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;
        }
    }