我有一些标签(10),我想在JLabel.removeMouseListener(this);
Label Image="pirosgomb.jpg"
这样的听众
我尝试了很多不同的方法,但我无法让它发挥作用......
编辑:谢谢你们,现在工作,编辑代码:
if (event.getSource() instanceof JLabel) {
kepstring=((JLabel)event.getSource()).getIcon().toString();
}
if(kepstring.equals("pirosgomb.jpg")) {
}else {
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 :(得分:0)
你可以这样试试。
final Icon icon = new ImageIcon("pirosgomb.jpg");
...
JLabel label = ...
label.setIcon(icon);
鼠标监听器内部:
if(label.getIcon() == icon){...}
答案 1 :(得分:0)
您是否尝试使用Component.setName(java.lang.String)
方法? e.g:
A1.setIcon(new ImageIcon("pirosgomb.jpg"))
A1.setName("pirosgomb.jpg");
if ("pirosgomb.jpg".equals(label.getName()) {
label.removeMouseListener(this);
}