Ajuda com jlabel

Então pessoal, estou com um problema, estou usando o método paintComponent para definir uma imagem em um jpanel, porem não estou conseguindo colocar um jlabel em cima do jpanel, segue o cod, estou usando uma classe para armazenar as configurações, assim chamando elas no jframe principal, grato! *obs: estou usando layout de borda, se eu mudo o layout a imagem não aparece

public class Configurações extends javax.swing.JPanel {
    BufferedImage imgBack;
    
    public Configurações(){
        try {
            this.imgBack = ImageIO.read(new File("C:\\Users\\Luan\\Desktop\\Game\\Game\\build\\classes\\Graphich\\BackgroundInicio.png"));
        } catch (IOException ex) {
            Logger.getLogger(Configurações.class.getName()).log(Level.SEVERE, null, ex);
        } 
    }
    protected void paintComponent(Graphics g){
       super.paintComponent(g);
       g.drawImage(imgBack.getScaledInstance(800, 620, 0), 0, 0, null);
    }
}

Olá amigo! eu criei este código espero ajudar. Ai para tu usar este objeto coloca um JPanel na tela principal instanciando a criação desta classe. é só clicar botão direito do JPanel e personalizar código , na parte de criação tu muda de padrão para personalizada, chamando este JPanel ex:

javax.swing.JPanel jpanel =  PainelImagem.getInstance();
/*
 * 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 br.com.radiobox.utilitarios;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JPanel;

/**
 *
 * @author thiago-
 */
public class PainelImagem extends JPanel {
    
    private final Image fundo = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/nome/do/pacote/suaimagem.formato"));

    private static final long serialVersionUID = 1L;

    private PainelImagem() {

    }

    public static PainelImagem getInstance() {
        return PainelImagemHolder.INSTANCE;
    }

    private static class PainelImagemHolder {

        private static final PainelImagem INSTANCE = new PainelImagem();
    }

    /**
     *
     * @param g
     */
    @Override
    public void paint(Graphics g) {
        g.drawImage(fundo, 0, 0, getWidth(), getHeight(), this);
       
    }
  
}

Olá amigo, eu fiquei um pouco perdido nesse código, teve alguns códigos que eu não mexi ainda:
javax.swing.JPanel jpanel = PainelImagem.getInstance();
essa função faz exatamente o que ?
Segue o cód do meu jFrame principal, o jframe é constituido com um jpanel dentro dele no qual eu puxo a classe:
public class Menu extends javax.swing.JFrame {
PainelImagem objImg = new PainelImagem();
public Menu() {
initComponents();
setLocationRelativeTo(this);
this.imgPanel.add(objImg);
IconesMenu();
}
public void IconesMenu(){
URL caminhoicone = getClass().getResource("/Graphich/Icone.png");
Image img = Toolkit.getDefaultToolkit().getImage(caminhoicone);
this.setIconImage(img);
}

Então esta parte ele estará chamando o objeto PainelImagem já com a imagem nele. Tu só tem que informar o caminho da imagem lá na classe PainelImagem depois alterar a criação do JPanel do seu JFrame para criação personalizada. Só para tu saber esta classe está utilizando padrão singleton , que lhe garante uma unica instancia do objeto. qualquer outra duvida só perguntar tentarei responder o mais breve possivel.

Muito obrigado, entendi o que quis me passar, mas… agora fiquei com outra duvida, essa criação personalizada, aonde que fica?

Na IDE Netbeans no momento que tu colocar o JPanel no JFrame tu clica com botao direito sobre o JPanel procure por personalizar codigo … ai e so fazer as alteracoes que indiquei. vlw qualquer outra duvida so dar um alo…

Então, consegui colocar a imagem com o seu procedimento, porem não consigo adicionar labels nem button no JPanel

tem como tu me mandar seu projeto , codigo ou print para que eu possa ver onde tu esta errando…

Segue o link do projeto, não tem como anexar o arquivo pois sou novato no forum.


obs: depois da uma olhada na sua caixa de mensagem no fb, deve ter caido na caixa de spam!