Fala galera! Sou novo por aqui e esse é meu primeiro tópico, por isso peço perdão se estiver fazendo algo errado… 
Bom, estou começando a estudar java orientação a objetos.
Estou tentando criar um programa que calcule a tabuada de um determinado número digitado pelo usuário dentro de um “TextField”.
O problema é que dentro do FOR que calcula o resultado, não consigo atualizar o nome dos “jLabels”:
int num = Integer.parseInt(lblNumTab.getText());
int result;
for (int cont = 1;cont <= 10;cont++){
result = num * cont;
lblNum1.setText(Integer.toString(num));
//Gostaria de usar o valor da variavel cont ao invés do numero, algo como lblNum+CONT.setText…
lblVal1.setText(Integer.toString(result)); // A mesma coisa aqui.
}
Há alguma forma de concatenar o nome desse objeto com o valor da variável cont para que o mesmo atualize automaticamente quando o loop for executado?
Desculpem por não me expressar corretamente.
Para concatenar o conteúdo do JLabel:
lblNum1.setText(lblNum1.getText() + stringAConcatenar);
No mais a pergunta ficou um pouco confusa. Por favor, leia novamente e esclareça o problema.
No primeiro loop do laço está assim:
lblNum1.setText();
Quero saber se tem como substituir o numeral do nome dessa JLabel pela variável contador. Para que autimaticamente, durante a execução do for, esse nome seja atualizado. Por exemplo:
1º Loop
lnlNum1.setText();
2º Loop
lnlNum2.setText();
3º Loop
lnlNum3.setText();
e assim por diante…
Há alguma forma de inserir a variavel contador no nome dessa JLabel?
Algo como lblNum**[contador]**.setText();
Até onde sei isso não é possível, mas existem alternativas mais eficientes.
Nesse caso você usa um array.
Você inicializaria suas JLabels assim:
// Cria um array de JLabels que começa em 0 e vai até dez, totalizando
// 11 itens (contando o 0);
JLabel[] labelsFator = new JLabel[11];
JLabel[] labelsProduto = new JLabel[11];
// Se quiser ignorar o 0, inicialize "int i = 1"
for (int i = 0; i < labelsFator.length; i++) {
labelsFator[i] = new JLabel();
labelsProduto[i] = new JLabel();
// adiciona aqui a label na sua janela, como já fazia ates com
// lblNum1 e lblVal1
}
Dentro do for que faz a multiplicação você usa a variável cont para acessar a posição devida no array:
int num = 5;
int result;
for (int cont = 1; cont <= 10; cont++) {
result = num * cont;
// Se num = 5, então labelsFator[1].getText() == "5 * 1"
labelsFator[cont].setText(num + " * " + cont);
labelsProduto[cont].setText(Integer.toString(result));
}