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.