Imagem como fundo de um Componente

3 respostas
Tche

Galera,

Estou com dificuldade pra colocar uma imagem no fundo de um JPanel.

Preciso colocá-la no fundo e poder add outros componentes sobrepondo esta imagem.

Tentei algumas coisas, alguns exemplos, alguns códigos mas nao consegui.

Alguém pode ajudar?

3 Respostas

D

Eu utilizo essa classe:

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


public class PanelBackground extends JPanel {
    private Image imagem;
    private String path;
    
    public PanelBackground(String path) {
        try {
            this.path = path;
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.setLayout(null);
        imagem = carregarImagem(this.path);        
        this.setRequestFocusEnabled(false);
        this.repaint();
    }

    public void paint(Graphics g){
        g.drawImage(imagem, 0, 0, null);
    }

    private Image carregarImagem(String caminho){

        MediaTracker tracker = new MediaTracker(this);
        Image img = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource(caminho));
        tracker.addImage(img, 0);        

        try{
            tracker.waitForAll();
            return img;
        }
        catch(Exception e) {
            e.printStackTrace();
        }

        return null;
    }
}
M

Dê uma olhada nesse post.

Tche

funfou !!

Peguei como exemplo uma classe do post citado pelo marco.

só fiz umas alterações para minha necessidade.

valeu galera.

Criado 19 de janeiro de 2009
Ultima resposta 20 de jan. de 2009
Respostas 3
Participantes 3