JLabel de outra classe na classe principal

Estou escrevendo um código de formulário. Para não descarregar tudo no construtor(e ter um código enorme), eu resolvi criar classes diferentes. Em uma eu tenho o construtor. Na outra, apenas os objetos que aparecerão na tela de formulário. Eu quero adicionar os atributos da classe Componentes.java na classe principal.
Segue código da classe principal:
package sigeeic;

import java.awt.Font;
import java.awt.HeadlessException;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class SigEeic extends JFrame {    
    Componentes d = new Componentes();

    public SigEeic() throws HeadlessException {
        configuracaoDaJanela();
        d.lNome =  new JLabel("Nome do Aluno");
        add(d.lNome);
        setVisible(true);
    } public void configuracaoDaJanela() {
        setLayout(null);
        setSize(600, 300);
        setLocationRelativeTo(null);
        setTitle("Cadastro de Alunos - SCHool - CHLabs");
        setVisible(true);
         }
    

        
    
    public static void main(String[] args) {
        SigEeic s = new SigEeic();
        s.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
  
}

Agora, o da outra classe:
package sigeeic;

import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Componentes extends JFrame {

    public JLabel lNome = new JLabel("Nome do Aluno"), 
            lDataNascimentoo = new JLabel("Data de Nascimento"), 
            lSexo = new JLabel("Data Nascimento"), 
            lUF = new JLabel("UF");
    public JTextField tfNome;
    

    }

Help

Boa noite amigo.

Separar o código só pq a classe estava ficando extensa não é muito bom, mas vc pode injetar o frame como dependência da classe Componentes e fazer o mesmo que fazia na classe SigEeeic.

public class SigEeic extends JFrame {
     private Componentes d;

     public SigEeic() throws HeadlessException {
           configuracaoDaJanela();
           setVisible(true);
    }

    private void initComponents() {
           d = new Componentes(this);
    }
}

public class Componentes {

    private final JFrame frame;
    private final JLabel lNome = new JLabel("Nome do Aluno"),
            lDataNascimentoo = new JLabel("Data de Nascimento"),
            lSexo = new JLabel("Data Nascimento"),
            lUF = new JLabel("UF");
    private JTextField tfNome;

    public Componentes(JFrame frame) {
        this.frame = frame;
        initComponents();
    }

    //adiciona os componentes no formulário
    private void initComponents() {
        add(lNome);
    }
}

Na verdade é a mesma coisa só que de uma classe externa e isso só faria sentido mesmo se fosse para poder reutilizar o código em outro frame, porém, iria ficar igual o primeiro então não tem pq ter uma classe externa só para construir o frame e deixa a classe de construção menor.

Contudo espero que isso te ajude. :smiley:

Se os atributos são da classe Componentes, porque você precisa declará-los na classe Principal.
A classe Principal não possui instâncias da classe Componentes?