1

How can I set the text of a JLabel with a loop? For example:

String cur[]= {"A","B","C"};
JLabel lblA,lblB,lblC;

for(i=0;i < cur.length;i++){
  lbl+cur[i].setText("something");
}

what should go in the "lbl+cur[i]" part so it sets the text of the JLabels?

Thanks

2 Answers 2

3

You can't dynamically create variable names like that.

If you want to set the value of a label in a loop then you need to create an array of JLabels the same way you create an array of Strings.

JLabel[] labels = new JLabel[cur.length];

for (int i = 0 i < cur.length; i++)
{
    labels[i] = new JLabel( cur[i] );
}
Sign up to request clarification or add additional context in comments.

Comments

1

You can make an array of JLabels instead:

JLabel[] labels = {new JLabel(), new JLabel(), new JLabel()};
for ( JLabel label : labels ) {
   label.setText("something");
   panel.add(label);
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.