É possível jogar numa variável String o nome de um componente?
Exemplo:
//novo botão
JButton botao1;
e me retornar: “botao1” ?
É possível jogar numa variável String o nome de um componente?
Exemplo:
//novo botão
JButton botao1;
e me retornar: “botao1” ?
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
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).
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.
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 …
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”.