Inserir uma imagem e 1 ou mais botões no mesmo JPanel

Oi gente, estou tentando inserir 1 imagem e 3 botões num mesmo JPanel, mas a imagem não aparece, só os botões.

Espero que vcs possam me ajudar, segue a classe abaixo:

package exemplos;

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

public class Painel {

	public static void main(String[] args) {
		
		Painel gui = new Painel();
		gui.go();

	}
	
	public void go(){
		
		JFrame moldura = new JFrame();
		JPanel painel = new JPanel();
		painel.setBackground(Color.darkGray);
		
		painel.setLayout(new BoxLayout(painel, BoxLayout.X_AXIS));
			
		JButton botaoA = new JButton("Botão 1");
		JButton botaoB = new JButton("Botão 2");
		JButton botaoC = new JButton("Botão 3");
		
		painel.add(new Imagem());
		painel.add(botaoA);
		painel.add(botaoB);
		painel.add(botaoC);
		
		moldura.getContentPane().add(BorderLayout.SOUTH, painel);
		moldura.setSize(500, 400);
		moldura.setVisible(true);
		
	}
	
	class Imagem extends JPanel{
		
		public void paintComponent(Graphics g){
			Image image = new ImageIcon("../images/street_sign.jpg").getImage();
			g.drawImage(image, 0, 0, this);
		}
		
	}

}

Certifique-se que a imagem está no caminho certo.

Outra coisa, não carregue a imagem no método repaint, pois ele é chamado toda vez que seu Frame precisa ser repintado (as vezes, várias vezes por segundo).

[code]
private static class Imagem extends JComponent{
private Image image = new ImageIcon("…/images/street_sign.jpg").getImage();

    public void paintComponent(Graphics g){  
        g.drawImage(image, 0, 0, this);  
    }            
}  [/code]

No seu caso, não era mais só colocar um JLabel com esse ImageIcon não?

não deu certo, não sei mais o que fazer, já tentei outros códigos mas não dá certo

Em momento nenhum falei que aquele era o problema. Aquela apenas era uma dica de boa prática.

Se você quiser que a imagem apareça:

  1. Certifique-se que a imagem está sendo aberta. A melhor maneira de fazer isso é usar o ImageIO.read para ler a imagem, pois ele dá erro caso ela não seja aberta;
  2. Revise os seus gerenciadores de layout;
  3. Certifique-se que o seu componente de imagem tem o setPreferredSize definido