Obter uma String com Nome do Componente que Gerou Evento no Swing [RESOLVIDO]

1 resposta
lavreh

Gostaria de saber se há a possibilidade de obter, a partir de um evento de interface, o nome do componente/objeto que o gerou?
Tentei através do método getSource(), que retorna o objeto em si, convertendo para String com o método toString(). Mas me é apresentada uma string bizarra, contendo diversas informações, menos o nome do componente!
Outra tentativa foi com o método getActionCommand(), mas este retorna o rótulo, não o nome do componente.

Alguém já teve uma demanda parecida e pode me ajudar?

1 Resposta

ViniGodoy

O nome da variável do componente não é possível obter. Você tem as seguintes opções:

  1. Obter o nome da classe do componente com getSource().getClass().getSimpleName() ou getCanonicalName().

  2. Definir explicitamente o nome do componente com o comando setName e lê-lo com getName().

  3. Testar se o getSource() == suaVariavel.

Agora, isso geralmente não é necessário, e nem boa prática, usar esse tipo de coisa, já que cada componente pode ter um listener diferente.

Criado 31 de outubro de 2013
Ultima resposta 31 de out. de 2013
Respostas 1
Participantes 2