[Resolvido] jtextField.getName() retornando null em vetor de componentes

1 resposta
R

Olá,

Estou fazendo um trabalho sobre criptografia implementando o ADFGVX.

Então tenho uma matriz, formada na tela por jtextfields, com cada um recebendo valores aleatórios.

Para efeito de seguir a lógica do ADFGVX tenho de obter a posição da letra do texto original na matriz, que poderia ser o nome do jtextfield. Que no caso vai de jtextfield1 a jtextfield36.

Porém ao implementar o seguinte código é obtido apenas null como nome do componente. É getName mesmo que deve ser usado neste caso?

Component components[] = jPanelMatriz.getComponents(); for (int i = 1; i <= jTextFieldTextoPlano.getText().length(); i++) { for (int x = 0; x < jPanelMatriz.getComponentCount(); x++) { if (components[x] instanceof JTextField) { if (((JTextField) components[x]).getText().equalsIgnoreCase(jTextFieldTextoPlano.getText().substring(i - 1, i))) { System.out.println((jTextFieldTextoPlano.getText().substring(i - 1, i) + " - " + ((JTextField) components[x]).getName())); } } } }

Eu poderia simplesmente usar x, porém ao criar este vetor de componentes não é mantido alguns jtextfields na ordem correta, então o resultado fica inconsistente. Então para confirmar seu estou no caminho certo teria que verificar diretamente qual jtextfield está sendo usado em cada loop.

Alguém puder me ajudar por favor?
Obrigado!

1 Resposta

R

Acabei descobrindo sozinho. Fiz o setName em cada jtextfield e funcionou.

É correto usar assim o setName neste caso?

Criado 7 de maio de 2010
Ultima resposta 7 de mai. de 2010
Respostas 1
Participantes 1