Ajuda com hashcode()

5 respostas
cleyvison

quero testa um objeto através de um switch, para isso implementei o sguinte código

public void actionPerformed(ActionEvent e) 
	{
		Object acaoBotao = e.getSource();
		
		System.out.println(acaoBotao.hashCode());
		int auxiliar = acaoBotao.hashCode();
		
		switch (auxiliar)
		{
			case 11180085 : System.exit(0);break;
			case 13100371 : System.exit(0);break;
		}
			
	}

mas, eu não sei se é nomal mas, em 2 de cada 3 vezes que rodo o sistema o hashcode vem diferente isso é normal?

5 Respostas

R

Sim, isso é normal. Uma forma de resolver o seu problema seria registrar um ActionListener no botão:

http://java.sun.com/javase/6/docs/api/javax/swing/AbstractButton.html#addActionListener(java.awt.event.ActionListener)

cleyvison

isso eu fiz…

botaoSair.addActionlistern(this);
R

Fazer o JFrame implementar ActionListener não é recomendado, pois dessa maneira você só poderá “amarrar” uma única ação ao JFrame. Você pode construir uma classe anônima para registrar um ActionListener no botão:

botaoSair.addActionListener(new ActionListener() { void actionPerformed(ActionEvent e) { System.out.println("O botão Sair foi pressionado"); } });

cleyvison

VLW…

dicabeca

uma dica o eclipse ou netbeans , eles ja criam o metodo hashcode implementado para vc e o equals

Criado 21 de junho de 2009
Ultima resposta 23 de jun. de 2009
Respostas 5
Participantes 3