Pessoal,
Tenho um JButton que ao ser clicado, executa as ações programadas mais de uma vez, como se tivesse sido clicado várias vezes.
Segue abaixo o código:
scVisitor.add(
prepareButton(registerVisitor, 610, 480, 200, 40, Constants.ICON_REGISTER, "Cadastrar o visitante"));
registerVisitor.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt2) {
registerVisitor();
}
});`
Poderiam me ajudar a descobrir o porque do problema?
Tente usar o método mouseClicked(Mouse event){...}
em vez de actionPerformed()
Vlw magalhas…
parece que resolveu o problema…
vou continuar testando e qlq coisa posto aqui…
Obrigado
magalhas,
Essa solução resolveu em partes, pois só tem como acionar o botão com o mouse. Caso aperte o enter com o botão em foco não aciona o botão.
Tem alguma outra ideia?
@Rodrigocostacorrea eu fiz uns testes aqui usando o actionPerformed
e funcionou normal tanto com o click do mouse e também com o botão estando em foco ele é acionado pressionando a barra de espaço.
Outra solução pode ser o método keyPressed(KeyEvent arg0){...}
btn.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent arg0) {
System.out.println("Sua ação");
}
});
Vê ai qual fica melhor
magalhas,
o actionPerformed funciona bem comigo qnd estou executando dentro do eclipse. Depois que gero o .jar é que começa a dar problema.
Vou ver o que faço aqui.
Obrigado pela ajuda.