Search code examples
javaarraysswingloopsjlabel

Setting text of JLabel with an array/loop


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


Solution

  • 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] );
    }