Problema ao carregar imagem com JImagePanel?

Salve galera…

To tentando colocar uma imagem aqui na minha tela principal JDialog usando JImagePanel…
Criei o JDialog usando NetBeans, importei minha imagem para o package “imagens” do meu projeto, mas não consigo exibi-la e ainda tenho erros ao compilar.


    public void inicializacao() throws URISyntaxException, IOException{
        //aqui onde tento carrega-la usando JImagePanel
        JImagePanel painelPrincipal = new JImagePanel(new File(getClass().getResource("/src/pacotes/logo_painelCont.png").toURI()));     
        painelPrincipal.setFillType(JImagePanel.FillType.CENTER);
        this.add(painelPrincipal);       
    }

Aqui o erro que tenho de retorno…

NullPointerException, mas a imagem esta no package, não sei o pq deste erro.

Alguma dica ???

obrigado.

Boa tarde,

Fernando,

Faça o seguinte, acesse direito,
Copie ela em seu Source Folder,
Acesse da seguinte forma:

URL url = this.getClass().getResource("/IMAGEM.PNG");
		Image img = Toolkit.getDefaultToolkit().getImage(url);
JImagePanel painelPrincipal = new JImagePanel(img);  

Acho que funcionará assim

Caso não funcione retire o new File

JImagePanel painelPrincipal = new JImagePanel(getClass().getResource("/src/pacotes/logo_painelCont.png").toURI()));  

Opa Mateus, obrigado pela atenção

Testei suas duas dicas, inclusive a segunda eu ja havia testado, e ainda não consegui fazer funcionar.

Alguma dica ??

obrigado

Tem como postar o codigo todo pra dar uma olhada?

Exemplo de código postado por suspiro10, tópico http://www.guj.com.br/java/34500-como-deixar-uma-imagem-de-background-em-um-jpanel

[code] package testes;

import java.awt.;
import java.awt.image.
;
import javax.swing.;
import java.io.
;
import javax.imageio.ImageIO;

public class imageTeste extends JComponent {
JFrame frame;
JPanel panel;

 imageTeste() {    
  frame = new JFrame("Game");    
  panel = new JPanel();       
       
  panel.setLayout(null);    
  panel.setBackground(Color.WHITE);    
   // nao funcionou...  
      panel.add(this);    
      this.setBounds(50, 50, 100, 100);     
      
  frame.getContentPane().add(panel);    
  frame.setVisible(true);    
  frame.setSize(800,600);    
  frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);    
    
      
  }    
  public void paintComponent(Graphics g) {      
   try {    
    Graphics2D g2 = (Graphics2D) g;      
    InputStream imgStream = getClass().getResourceAsStream("eu.jpg");      
     BufferedImage image = ImageIO.read(imgStream);       
       g2.drawImage(image, 0,0, panel);   
        System.out.println("Mostrando imagem");     
       }      
   catch(Exception e) {    
      System.out.println("Imagem não localizada");    
  }    
}    
  
  public static void main(String[] args) {    
     new imageTeste();    
     }    
 } [/code]

Opa Mateus, consegui resolver…

fiz assim:

public void inicializacao(){

//imagem de fundo
        InputStream imgStream = getClass().getResourceAsStream("/imagens/logo_painelCont.png");        
        BufferedImage image = ImageIO.read(imgStream);  
        JImagePanel painelPrincipal = new JImagePanel(image);
        painelPrincipal.setSize(400, 400);
        painelPrincipal.setFillType(JImagePanel.FillType.CENTER);        
        this.getContentPane().add(painelPrincipal);
}
     

Agora preciso colocar ela no centro do JDialog, outra batalha iniciada…kkkkkkkkk !!!

obrigado

Parabens,

Entendeu a lógica que errou?

Qualquer dúvida poste ae pra gente ve.