Remover JLabel /Label de um JFrame em java

Estou tentando remover labels criados dinamicamente em um JFrame, mas não estou conseguindo.
Eu posisiono um label de 1 a 25 e embaixo deles coloco os checkboxes.
Coloquei tb um botão que ao clicar nele mostra na tela só os checkboxes marcados, porém quando clico novamente queria que oas labels anteriores fossem removidos e recriados com as novas marcações do checkbox, mas isto não estou conseguindo.
Alguém pode me ajudar?
Segue abaixo o meu projeto:

Obrigado.

/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package jlabeldfa;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;

/**
*

  • @author dfaal
    */
    public class CriandoUmJLabel extends javax.swing.JFrame implements ActionListener{
    private int posicao=105;
    private int posicaoLabel=35;

    private int posicaoBox=32;
    private int indiceCheckbox = 0;
    private String label_Block;
    private int x=0;
    private List checkboxes = new ArrayList();
    private List bloqueados = new ArrayList();

    public void actionPerformed(ActionEvent e){
    LimpaBloqueados();
    MostraBloqueados();
    }

    /**

    • Creates new form CriandoUmJLabel
      */
      public CriandoUmJLabel() {
      initComponents();
      JLabel label=new JLabel();
      label.setVisible(true);
      label.setText(" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ");
      label.setSize(600, 50);
      label.setLocation(32, posicao);
      getContentPane().add(label);
      CriandoChkB();
      Botao();

    }

    @SuppressWarnings(“empty-statement”)
    public void CriandoChkB(){
    for(int i=0;i<=24;i++){
    indiceCheckbox++;
    JCheckBox checkBox2 = new JCheckBox();
    checkBox2.setName(String.format(“chk_box_”+Integer.toString(indiceCheckbox)));
    checkBox2.setVisible(true);
    checkBox2.setBounds(posicaoBox, 140, 20, 20);
    getContentPane().add(checkBox2);
    posicaoBox=posicaoBox+20;
    checkboxes.add(checkBox2);

     }
    

    }

    public void Botao(){
    JButton btn_Botao= new JButton(“Ok”);
    btn_Botao.setBounds(32, 170, 60, 30);
    btn_Botao.setVisible(true);
    getContentPane().add(btn_Botao);
    btn_Botao.addActionListener(this);

    }

    public void LimpaBloqueados(){
    initComponents();
    int x=0;
    int posicaoLabel=35;
    x=0;
    posicaoLabel=35;
    for(int i=0;i<=24;i++){

             x=i+1;
             
             label_Block=Integer.toString(x);
             if(x<10){
                 label_Block="0"+label_Block;
             }
            
           JLabel labelBloqueados=new JLabel();
           labelBloqueados.setText(label_Block);
           labelBloqueados.setVisible(true);
           getContentPane().remove(labelBloqueados);
           posicaoLabel=posicaoLabel+20;
        
     }
    

    }

    public void MostraBloqueados(){
    initComponents();

     int x=0;
     int posicaoLabel=35;
     x=0;  
     posicaoLabel=35;
     for(int i=0;i<=24;i++){
    
         if(checkboxes.get(i).isSelected()){
             x=i+1;
             
             label_Block=Integer.toString(x);
             if(x<10){
                 label_Block="0"+label_Block;
             }
            
           JLabel labelBloqueados=new JLabel();
           labelBloqueados.setVisible(true);
           labelBloqueados.setText(label_Block);
           labelBloqueados.setBounds(posicaoLabel, 200, 50, 50);
           getContentPane().add(labelBloqueados);
           posicaoLabel=posicaoLabel+20;
         }
        
     }
    

    }
    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      */
      @SuppressWarnings(“unchecked”)
      //
      private void initComponents() {

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 720, Short.MAX_VALUE)
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 449, Short.MAX_VALUE)
      );

      pack();
      }//

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if (“Nimbus”.equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //

      /* Create and display the form */
      java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
      new CriandoUmJLabel().setVisible(true);
      }
      });
      }

    // Variables declaration - do not modify
    // End of variables declaration
    }