Tenho um label que a cada intervalo de tempo ele recebe uma imagem do tipo ImageIcon e um addMouseListener que tem como parâmetro o método mouseClicked que chama uma classe que abre o browser no link passado. A intenção é que esse label tenha uma imagem que quando clicada abre o browser.
Meu problema é que se clico na primeira imagem que aparece ele abre o browser uma vez, se eu clico na segunda imagem que aparece ele abre 2 vezes, se na terceira imagem, 3 vezes e assim por diante. o código da tela é grande, mas o código que coloco na parte SOUTH do BorderLayout é o seguinte:
while(true){
String link = null;
link = "http://www.google.com";
try {
open(link, panel);
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
como podem ver, essa parte chama o método open(), que está abaixo:
private void open(final String link) {
remove(lblNewLabel);
ImageIcon icon = new ImageIcon();
icon = new ImageIcon("C:/Java/Projeto/Projetos/PendenciaAlta/images/banner"+z+".jpg");
lblNewLabel.setIcon(icon);
this.getContentPane().add(lblNewLabel, BorderLayout.SOUTH);
this.setVisible(true);
z++;
this.lblNewLabel.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me){
int x=0;
System.out.println("VARIAVEL clicked: "+x);
new BrowserSiteCliente(link, x);
System.out.println(link);
}
});
if(z==5){
z=0;
}
}
Alguém que puder me dar uma ajuda,
Obrigado