How to create an array of JLabels in Java to be printed to a JFrame

45,228

Solution 1

easy just have one method return an array or some collection of JLabels and add all of them to your JComponent (e.g. a JPanel)

class MyPanel extends JPanel{

    public MyPanel(){
        super();
        showGUI();
    }

    private JLabel[] createLabels(){
        JLabel[] labels=new JLabel[10]
        for (int i=0;i<10;i++){
            labels[i]=new JLabel("message" + i);
        }
        return labels;
    }

    private void showGUI(){
        JLabel[] labels=createLabels();
        for (int i=0;i<labels.length();i++){
            this.add(labels[i]);
        }
    }
}

Solution 2

If possible, don't use separate JLabels, but a JList, which will take care of layout and scrolling if necessary.

Java-Tutorial - How to us a List:

alt text
(source: sun.com)

Share:
45,228
Admin
Author by

Admin

Updated on May 27, 2021

Comments

  • Admin
    Admin almost 3 years

    I m trying to make an array of labels. Each label has a differented value which come out of a function. I don't know the exact number of labels to be used. I mean there could be any number of values to be printed. Please help me do this.