JFrame bugando com Thread

Eu to desenvolvendo um programa em que depois que eu logar, ele vai aparecer um novo JFrame com um JProgressBar para carregar outro JFrame, porem quando eu faço isso usando Threads, o JFrame com o JProgressBar so aparece quando a janela que era pra ser carregada aparecer

public class AberturaUsuario extends javax.swing.JFrame {
       public void barraLoading(){
            Aluguel c1 = new Aluguel();
            try{
            for(int i=1;i<=100;i+=1){
            
            loading.setValue(i);
            loading.setString(i+"%");
            Thread.sleep(30);
            
            }
            //O problema parece estar nesses Threads
            Thread.sleep(1000);
            setVisible(false);
            Thread.sleep(1000);
            c1.setVisible(true);
            
            }
            catch(InterruptedException a){
            
            a.printStackTrace();
            
            }}
        
        
        
        public AberturaUsuario() {
            initComponents();
            setVisible(true);
            barraLoading();
        }

        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {

            kGradientPanel1 = new keeptoo.KGradientPanel();
            jLabel1 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            loading = new javax.swing.JProgressBar();

            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setUndecorated(true);

            kGradientPanel1.setkEndColor(new java.awt.Color(7, 117, 0));
            kGradientPanel1.setkStartColor(new java.awt.Color(53, 223, 36));

            jLabel1.setFont(new java.awt.Font("Gabriola", 0, 78)); // NOI18N
            jLabel1.setText("Biblioteca Virtual");

            jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/iconeAluno.png"))); // NOI18N

            loading.setForeground(new java.awt.Color(218, 0, 0));

            javax.swing.GroupLayout kGradientPanel1Layout = new javax.swing.GroupLayout(kGradientPanel1);
            kGradientPanel1.setLayout(kGradientPanel1Layout);
            kGradientPanel1Layout.setHorizontalGroup(
                kGradientPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, kGradientPanel1Layout.createSequentialGroup()
                    .addGap(62, 62, 62)
                    .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(kGradientPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(loading, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel1))
                    .addGap(163, 163, 163))
            );
            kGradientPanel1Layout.setVerticalGroup(
                kGradientPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(kGradientPanel1Layout.createSequentialGroup()
                    .addGroup(kGradientPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(kGradientPanel1Layout.createSequentialGroup()
                            .addGap(55, 55, 55)
                            .addComponent(jLabel3)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 29, Short.MAX_VALUE))
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, kGradientPanel1Layout.createSequentialGroup()
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(61, 61, 61)))
                    .addComponent(loading, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(83, 83, 83))
            );

            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(kGradientPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(kGradientPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            );

            pack();
            setLocationRelativeTo(null);
        }// </editor-fold>                        
        public static void main(String args[]) {
                    new AberturaUsuario();
        }

Não achei o uso de threads no seu código. Veja um exemplo:

Thread t1 = new Thread(new Runnable() {
	@Override
	public void run() {
		// Faz algo
	}
});

t1.start();

Você não criou Thread nenhum, você só está pausando a execução da Thread atual, que corresponde a execução de seu programa.

Se você quer executar o método barraLoading concorrentemente com as Threads do Swing, chame o método barraLoading dessaforma:

SwingUtilities.invokeLater(() -> barraLoading());

Parece que o problema não é esse, quando eu seto em uma classe para tornar o AberturaUsuario visivel, ele tem que esperar a função barraLoading carregar para so então aparecer,mas quando instancio para ser a classe visivel dentro dessa função, ele ainda permanecer invisivel ate acabar de carregar a barra de loading