Tamanho dos Jlabels dentro de um painel com Gridbaglayout

Saudações, estou com problema para setar o tamanho dos meus labels dentro de um painel. Percebi que eles são setados automaticamente pelo layout porem queria colocar um JScrollpane dentro do painel e não consigo justamente pelo motivo dos labels se ajustarem no painel daí ficam bem pequenos. Como faço para resolver isso?, crio outros paineis?. obs: o painel ocupa o frame completo.

main:

public class Main {
public static void main(String[] args) {
Screen a = new Screen();
for(Loja lojas : Loja.lj){
String nome = lojas.filial;
for (String ip : lojas.ips){
a.painelIP(ip,nome);
}
}
}
}

//////////////////////////////////////////////////////////////////////////////////*********************
classe para GUI

import javax.swing.;
import java.awt.
;

public class Screen {
private GridBagConstraints c = new GridBagConstraints();
private JFrame frame = new JFrame(“Painel”);
private JPanel painel = new JPanel();
private int ljAnterior = 1;
JScrollPane scroll = new JScrollPane(painel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
public Screen(){
frame.setSize(900,600);
frame.setVisible(true);
frame.setResizable(true);
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);

    painel.setLayout(new GridBagLayout());

    frame.getContentPane().add(scroll,BorderLayout.WEST);
    frame.getContentPane().add(painel);
}
public void painelIP(String ip,String loja){
    JLabel boxIP = new JLabel();
    boxIP.setText("<html><div style='text-align: center;'>" + loja + "<br/>IP: " + ip + "</div></html>");


    this.c.weightx = 1;
    this.c.weighty = 1;
    this.c.fill = GridBagConstraints.BOTH;
    this.c.ipadx = 20;
    this.c.ipady = 20;

    linhaEcolunas(Integer.parseInt(loja.substring(5)));
    painel.add(boxIP,c);
}

private void linhaEcolunas(int loja){
    if(this.ljAnterior != loja){
        this.ljAnterior = loja;
        this.c.gridy = loja;
    }
}

}

/////////////////////////////////////////////////////////////////////////////////////////////***********************
classe para criar ips para colocar nas labels:

public class Loja {
protected String [] ips;
protected String filial;
public Loja(String filial,String … ips) {
this.ips = ips;
this.filial = filial;
}

public static Loja [] lj = new Loja[]{
        new Loja("Loja 1" , "10.10.1.1" , "10.10.1.2" ,  "10.10.1.10" , "10.10.1.11" , "10.10.1.12" , "10.10.1.13" , "10.10.1.250" , "10.10.1.254" , "10.10.1.70"),

        new Loja("Loja 2" , "10.10.2.1" , "10.10.2.2" , "10.10.2.3" , "10.10.2.10" , "10.10.2.11" , "10.10.2.12" , "10.10.2.13" , "10.10.2.250" , "10.10.2.254" , "10.10.2.70"),

        new Loja("Loja 3" , "10.10.3.1" , "10.10.3.2" , "10.10.3.3" , "10.10.3.10" , "10.10.3.11" , "10.10.3.12" , "10.10.3.13" , "10.10.3.250" , "10.10.3.254" , "10.10.3.70"),

        new Loja("Loja 4" , "10.10.4.1" , "10.10.4.2" , "10.10.4.3" , "10.10.4.10" , "10.10.4.11" , "10.10.4.12" , "10.10.4.13" , "10.10.4.250" , "10.10.4.254" , "10.10.4.70"),

        new Loja("Loja 5" , "10.10.5.1" , "10.10.5.2" , "10.10.5.3" , "10.10.5.10" , "10.10.5.11" , "10.10.5.12" , "10.10.5.13" , "10.10.5.250" , "10.10.5.254" , "10.10.5.70"),

        new Loja("Loja 6" , "10.10.6.1" , "10.10.6.2" , "10.10.6.3" , "10.10.6.10" , "10.10.6.11" , "10.10.6.12" , "10.10.6.13" , "10.10.6.250" , "10.10.6.254" , "10.10.6.70"),

        new Loja("Loja 7" , "10.10.7.1" , "10.10.7.2" , "10.10.7.3" , "10.10.7.10" , "10.10.7.11" , "10.10.7.12" , "10.10.7.13" , "10.10.7.250" , "10.10.7.254" , "10.10.7.70"),

        new Loja("Loja 8" , "10.10.8.1" , "10.10.8.2" , "10.10.8.3" , "10.10.8.10" , "10.10.8.11" , "10.10.8.12" , "10.10.8.13" , "10.10.8.250" , "10.10.8.254" , "10.10.8.70"),

        new Loja("Loja 9" , "10.10.9.1" , "10.10.9.2" , "10.10.9.3" , "10.10.9.10" , "10.10.9.11" , "10.10.9.12" , "10.10.9.13" , "10.10.9.250" , "10.10.9.254" , "10.10.9.70"),

        new Loja("Loja 10" , "10.10.10.1" , "10.10.10.2" , "10.10.10.3" , "10.10.10.10" , "10.10.10.11" , "10.10.10.12" , "10.10.10.13" , "10.10.10.250" , "10.10.10.254" , "10.10.10.70"),

        // new Loja("Loja 11" , "10.10.11.1" , "10.10.11.2" , "10.10.11.3" , "10.10.11.10" , "10.10.11.11" , "10.10.11.12" , "10.10.11.13" , "10.10.11.250" , "10.10.11.254" , "10.10.11.70"),

        new Loja("Loja 12" , "10.10.12.1" , "10.10.12.2" , "10.10.12.3" , "10.10.12.10" , "10.10.12.11" , "10.10.12.12" , "10.10.12.13" , "10.10.12.250" , "10.10.12.254" , "10.10.12.70"),

        new Loja("Loja 13" , "10.10.13.1" , "10.10.13.2" , "10.10.13.3" , "10.10.13.10" , "10.10.13.11" , "10.10.13.12" , "10.10.13.13" , "10.10.13.250" , "10.10.13.254" , "10.10.13.70"),

        new Loja("Loja 14" , "10.10.14.1" , "10.10.14.2" , "10.10.14.3" , "10.10.14.10" , "10.10.14.11" , "10.10.14.12" , "10.10.14.13" , "10.10.14.250" , "10.10.14.254" , "10.10.14.70"),

        new Loja("Loja 15" , "10.10.15.1" , "10.10.15.2" , "10.10.15.3" , "10.10.15.10" , "10.10.15.11" , "10.10.15.12" , "10.10.15.13" , "10.10.15.250" , "10.10.15.254" , "10.10.15.70"),

        new Loja("Loja 16" , "10.10.16.1" , "10.10.16.2" , "10.10.16.3" , "10.10.16.10" , "10.10.16.11" , "10.10.16.12" , "10.10.16.13" , "10.10.16.250" , "10.10.16.254" , "10.10.16.70")
};

}

Você ainda continua esse problema @islanvinicius ?

O problema é que você criou um único GridBagConstraints e está usando ele para todos os seus painéis.

Tira essa variável de instância da classe Screen:
private GridBagConstraints c = new GridBagConstraints();

Declara ela como uma variável local dentro do método painelIP.
Também informe o gridwidth e o gridheight, dessa forma:

public void painelIP(String ip,String loja){
    JLabel boxIP = new JLabel();
    boxIP.setText("<html><div style='text-align: center;'>" + loja + "<br/>IP: " + ip + "</div></html>");

    GridBagConstraints c = new GridBagConstraints();
    c.gridwidth = GridBagConstraints.RELATIVE;
    c.gridheight = GridBagConstraints.RELATIVE; 
    c.weightx = 1;
    c.weighty = 1;
    c.fill = GridBagConstraints.BOTH;
    c.ipadx = 20;
    c.ipady = 20;

    linhaEcolunas(Integer.parseInt(loja.substring(5)));
    painel.add(boxIP,c);
}