Pegar o nome de um componente

5 respostas
R

É possível jogar numa variável String o nome de um componente?

Exemplo:

//novo botão
JButton botao1;

e me retornar: “botao1” ?

5 Respostas

B

Pelo que eu andei vendo primeiro vc tem que setar o nome e depois é possívél pegar ele !!

JButton botao = new JButton();
		
botao.setName( "botao" );
		
System.out.println( botao.getName() );

Lembrando que quando vc cria um objeto JButton a variável de instância não é o nome do botão mais sim um referência para o Objeto JButton !!

Bravox

R

Mas teria jeito de pegar essa referência e jogar para um texto?

EDIT: na verdade eu quero criar uma função genérica para preencher os dados do banco de dados, onde eu crio um loop e comparo o nome do componente com o nome da tabela e assim preencher este campo.

Normalmente não vou ter o nome do componente (já que eu vou passar como parâmetro um jPanel).

G

Não seria melhor assim:

Map<String, Component> components = new HashMap<String, Component>(); //<Nome do Campo no Banco, Componente>
for (Iterator<Entry<String,Component>> iter = components .entrySet().iterator(); iter.hasNext();) {
			Entry<String,Component> element = (Entry<String,Component>) iter.next();
			Component component = element.getValue();
component.setValue(resultset.getObject(element.getKey()));

mais ou menos assim.

M

ola

voce conseguiu pegar o nome do componente …

por exemplo :

private JLabel jLabel3 = null;

String componente =   // pega o nome

System.out.println ( componente ) ;

e imprimir jLabel3

estou precisando disso para uma classe copia - cola …

T

O nome da variável, se você estiver rodando sem informação de depuração e ela for uma variável local, é destruído em tempo de execução.

Se for um membro de uma classe, poderia ser determinado por reflection, mas não a partir de um objeto dessa classe (que é o caso que você está provavelmente querendo fazer).

Portanto é melhor usar a propriedade “name”.

Criado 8 de agosto de 2006
Ultima resposta 19 de mar. de 2007
Respostas 5
Participantes 5