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!