Изменить группу элементов JLabel в JFrame - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу изменить JLabel после добавления его в кадр.

for(int i=0; i<5; i++){
    JLabel newlabel = new JLabel();
    newlabel.setText("somekindoftext");
    newlabel.setBounds(50, 50+(10*i), 150, 14);
    newlabel.setVisible(true);
    object.add(newlabel);
}

После того, как я добавил их в кадр, как вы можете изменять их отдельно?

Так что, если У меня есть функция с именем modifyText(), как я могу получить доступ к меткам, изменить текст и перерисовать его на панели?

1 Ответ

3 голосов
/ 08 апреля 2020

Один из способов сделать это - добавить ваши метки в ArrayList<JLabel>, это поле вашего класса:

private ArrayList<JLabel> labels = new ArrayList<JLabel>();

...

for(int i=0; i<5; i++){
    JLabel newlabel = new JLabel();
    newlabel.setText("somekindoftext");
    newlabel.setBounds(50, 50+(10*i), 150, 14);
    newlabel.setVisible(true);
    object.add(newlabel);
    labels.add(newLabel); // <-----
}

Теперь вы можете ссылаться на метки как labels.get(0), * 1006. *, labels.get(2) et c.

...