Изменить текст JLabel с помощью цикла for - PullRequest
0 голосов
/ 01 мая 2018

Мне нужна помощь для изменения текстов Jlabel, это цикл, мне нужно попробовать что-то типа:

String[] inputs = {"nickname0", "nickname1", "nickname2", "nickname3", "nickname4", "nickname5", "nickname6", "nickname7", "nickname8", "nickname9"};
            for(int i = 0; i<9; i++) {
                inputs[i].setText("exemple" + i);
            }

или как это:

for(int i = 0; i<9; i++) {
            (inputs + i).setText("exemple" + i);
        }

но эти методы не работают, у кого-нибудь есть решение?

1 Ответ

0 голосов
/ 01 мая 2018

Вы фактически обновляете содержимое объектов String в массиве, а не объекты JLabel, используемые вашим приложением.
Поэтому вместо этого добавьте объекты JLabel в массив и выполните итерации по ним:

JLabel lbl1 = new JLabel("nickname0");
JLabel lbl2 = new JLabel("nickname1");
...

JLabel[] inputs = {lbl1, lbl2, ...};
for(int i = 0; i < inputs.length; i++) {
    inputs[i].setText("exemple" + i);
}
...